Как скопировать новые двоичные файлы в C: \ Program Files? - PullRequest
1 голос
/ 16 марта 2010

Я создаю приложение для Windows, которое автоматически обновляется. Я не использую ClickOnce по разным причинам. Когда я пытаюсь File.Move () мои обновленные файлы в C: \ Program Files в Windows 7, я получаю следующую ошибку:

Доступ к пути 'C: \ Program Files \ \ \ ' запрещен.

Мне не выдается приглашение UAC. Исполняемый файл, который я пытаюсь обновить, в данный момент не запущен.

Ответы [ 2 ]

1 голос
/ 16 марта 2010

Вы не можете вносить изменения в папку установки программы, у вас нет необходимых прав администратора. Добавление манифеста к вашему модулю обновления нецелесообразно, пользователь быстро устает, увидев запрос на повышение прав.

Единственный практический способ - запустить программу обновления как запланированное задание. Этим задачам разрешается запускаться с правами администратора, потому что для этого требуются права администратора. Что вам нужно сделать с вашим установщиком.

1 голос
/ 16 марта 2010

Ваша проблема в UAC, даже если вы не получаете приглашение UAC.

Вам нужно изменить манифест вашей программы, чтобы он автоматически повышался. (Это даст вам подсказку UAC)

...