C #, UAC, установщик, Windows 7 - PullRequest
       36

C #, UAC, установщик, Windows 7

0 голосов
/ 08 октября 2010

У меня есть клиентское приложение, которое загружает установщик Nullsoft с сервера и запускает установщик как внешний процесс с глаголом «runas».

Установщик Nullsoft также имеет строку в скрипте, которая запрашивает повышенные привилегии. В Windows 7 это иногда работает

  • Windows отображает диалоговое окно UAC
  • нажатие OK позволяет запустить установщик.

Но в других случаях диалоговое окно UAC никогда не появляется, и в результате установщик никогда не запускается. Если я дважды щелкаю один и тот же установщик вручную, он всегда работает, то есть появляется диалоговое окно UAC и т. Д.

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

Есть идеи?

1 Ответ

3 голосов
/ 08 октября 2010

На что вы установили RequestExecutionLevel?Достаточно просто установить его в «Администратор RequestExecutionLevel», не нужно использовать глагол runas, просто запустите процесс с ShellExecute.(RequestExecutionLevel работает только с Vista и более поздними версиями, когда UAC включен, используйте плагин userinfo nsis, чтобы охватить эти другие случаи)

...