Проблема копирования в Windows 7 - PullRequest
0 голосов
/ 12 июня 2019

После запуска из общего ресурса моя программа копирует на локальный компьютер в% temp%.Это работает точно так, как я хочу в Windows 10, однако это также происходит в среде с компьютерами Windows 7.

Первоначально у меня был только File.Copy в качестве способа копирования файла% temp%, после некоторого тестирования я нашел второй метод для работы с файлом, но я не могу создать мой * .exe, файл удаляется из системы сразу после того, как я с ним покончу.

Я называю местоположение как% temp%, но на самом деле я имею в виду его эквивалент

Как установить местоположение для местоположения временного файла Path.GetTempPath () Windows 10

File.Copy(src, dest)

Windows 7

FileInfo srcInfo = new FileInfo(src);
FileStream srcStream = srcInfo.OpenRead();
FileStream destStream = File.Create(dest);
srcStream.CopyTo(destStream);
destStream.Close();
srcStream.Close();

Я также пробовал альтернативные форматы для чтения, создания и записи в файл, например, объявив его с помощью FileStream

Я искал другие методы выполнения той же задачи, однако не могу найти метод, который бы работал для меня, и все ответы, которые я нашел, очень устарели.

Я использую Visual Studio 2017 Enterprise для компиляцииприложение и запись его в .NET 4.5

Мое приложение было протестировано, работает без копирования и копирования в другие места, и оно работает нормально.Это просто в профиль пользователя.Я проверил запуск его через групповую политику как администратор и как обычный пользователь.

Подходящим ответом будет тот, который подробно описывает более подходящее расположение файла, не зависящее от UAC Windows 7, или решение описанной проблемы.

Ответы [ 2 ]

0 голосов
/ 13 июня 2019

@ Wubbler упоминается с использованием Environment.SpecialFolder Я использовал этот метод для запуска в очень общем месте.Хотя мое приложение было подписано, мой тестовый компьютер, по-видимому, был очень плохим.

Вернувшись к работе, я смог протестировать на исходном компьютере, я добавил исключения для myapp.exe, и в моем случае это был процесс Iнужно исключить.

Реализация обоих этих аспектов у меня теперь работает хорошо.У меня была другая проблема с развертыванием, и это была ссылка UNC для элемента входа пользователя объекта групповой политики.Я решил, что моя ссылка здесь не работает, поэтому я написал скрипт для сопоставления местоположения сервера, запустил приложение и удалил сопоставление.

net use Y: /delete /y
net use Y: \\TE-ADMIN\netlogon /persistent:y
"Y:\TEG System Helper.exe"
net use Y: /delete /y
0 голосов
/ 12 июня 2019

Некоторые альтернативы, которые вы можете протестировать:

var bSource = File.ReadAllBytes(src);
File.WriteAllBytes(dest, bSource);

Но это больше похоже на проблему с AV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...