Права .net & admin - как вставить файл манифеста для 2 разных сценариев - PullRequest
0 голосов
/ 10 мая 2011

У меня есть одно приложение .net, которое будет установлено в «программных файлах» и работает в 2 разных режимах:

  • «ADVANCED_MODE» со всеми включенными плагинами, которые должны открывать UAC для запуска какадминистратор
  • "BASIC_MODE" с загруженными лишь несколькими плагинами, которые должны работать как обычный пользователь

Что делать, чтобы решить этот случай?

Если я встраиваю файл манифеста (установлен requireAdmin), он не будет работать для BASIC_MODE.Если я не использую какие-либо манифесты, у меня не будет возможности открыть UAC в ADVANCED_MODE.Если я использую «asInvoker» или «highestAvailable», я получаю странные эффекты, когда запускаю приложение из Program Files с учетной записью обычного пользователя: оно закрывается сразу после запуска без сбоев.

Что бы вы сделали?Какие у меня варианты?

1 Ответ

3 голосов
/ 10 мая 2011

Используйте asInvoker в своем манифесте, и когда ваше приложение запускается в ADVANCED_MODE (а вы еще не являетесь администратором), запустите новый экземпляр вашего приложения с ShellExecute и глаголом runas.эффекты »означают, что ваше приложение не может работать без прав администратора (без манифеста ваше приложение будет работать с некоторыми совместимыми элементами, такими как перенаправление файлов и реестра).* LUA Buglight и Process Monitor для поиска стандартных пользовательских ошибок ...

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