Может ли MSI автоматически запускать программы / файлы с повышенными правами доступа? - PullRequest
0 голосов
/ 31 мая 2011

Я пытаюсь сделать возможным для MSI-файла открыть исполняемый файл, который зарегистрирует объект Browser Helper. Поскольку это включает запись в реестр, cmd.exe должен быть повышен до уровня администратора. Я могу манипулировать функцией ShellExecute (), чтобы открыть диалоговое окно UAC и спросить, хочет ли пользователь запускать cmd от имени администратора, однако я не хотел бы давать пользователю какой-либо контроль над установкой. Многочисленные онлайн-исследования привели меня к выводу, что невозможно использовать объект Browser Helper без прав администратора, поэтому мой вопрос: сможет ли cmd.exe наследовать разрешения установщика msi, если предположить, что установщик уже запущен с административные права? Безрезультатно, я также попытался автоматически запустить cmd от имени администратора. Я ценю любое направление или помощь, оказанную, большое спасибо!

Ответы [ 2 ]

2 голосов
/ 01 июня 2011

Вы сможете достичь этого, не используя CMD в 100 строках WiX и просто записав необходимые записи реестра вручную, не нужно запускать cmd.exe или regsvr32. Обратите внимание, что самостоятельная регистрация (то, что вы пытаетесь сделать) - это очень плохая практика и приводит к грязным установкам.

Следующая команда должна начать работу:

heat.exe file MyBHO.dll -o MyBHO.wxs -template product -ag -suid
0 голосов
/ 31 мая 2011

Насколько я понимаю, если UAC включен, не должно быть способа обойти это.Если есть, это подвиг, и его следует избегать.

...