File.Copy требует прав администратора в папке ProgramData в Windows 8.1

У меня возникают проблемы при создании простой копии файла в Windows 8.1 из папки в ProgramData в другую папку в ProgramData. Я хочу сделать резервную копию некоторых данных приложения.

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

Мой код написан на C# и очень прост, и его можно увидеть ниже:

if (!Directory.Exists(destination))
    Directory.CreateDirectory(destination);

File.Copy(sourceFile, Path.Combine(destination, backupFile), true);

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

Я конечно исследовал это, но не нашел никого в подобной ситуации.

Таким образом, Windows 8.1 должна отличаться от предыдущей версии Windows относительно разрешений в данных приложения?

Можно ли изменить разрешения для файла назначения и исходного файла при копировании?

0 ответов

Другие вопросы по тегам