Я пытаюсь сделать так, чтобы файл .msi мог открыть исполняемый файл, который зарегистрирует вспомогательный объект браузера. Поскольку это требует записи в реестр, cmd.exe должен быть повышен с правами администратора. Я могу манипулировать функцией ShellExecute(), чтобы вызвать всплывающее диалоговое окно UAC и спросить, хочет ли пользователь запустить cmd в качестве администратора, однако я не хотел бы давать пользователю какой-либо контроль над установкой. Многочисленные исследования в Интернете привели меня к выводу, что невозможно использовать вспомогательный объект браузера без прав администратора, поэтому мой вопрос: сможет ли cmd.exe наследовать разрешения установщика msi, предполагая, что установщик уже работает с административные права? Безрезультатно, я также пытался автоматически запускать cmd от имени администратора. Я ценю любое указание или помощь, большое спасибо!
Сможет ли MSI автоматически запускать программы/файлы с повышенными правами?
comment
Почему вы пытаетесь сделать отдельный процесс, который записывает в реестр, вместо того, чтобы позволить MSI записывать необходимые изменения? MSI выполняется установщиком Windows, который уже должен быть повышен.
- person Adrian McCarthy   schedule 01.06.2011
Ответы (2)
Я так понимаю, что если UAC включен, то его никак не обойти. Если есть, это эксплойт, и его следует избегать.
person
rerun
schedule
31.05.2011
Не будет ли MSI запрашивать повышенные разрешения? Если это так, вы можете подумать, что дополнительные подсказки будут излишними.
- person JAB; 31.05.2011
@JAB, я не мог убедиться, пока сам не проверил, спасибо!
- person user515751; 15.06.2011
Вы должны быть в состоянии добиться этого без использования CMD примерно в 100 строках WiX и просто написать необходимые записи реестра вручную, нет необходимости выполнять cmd.exe или regsvr32. Обратите внимание, что самостоятельная регистрация (то, что вы пытаетесь сделать) является очень плохой практикой и приводит к беспорядочной установке.
Следующая команда должна помочь вам начать:
heat.exe file MyBHO.dll -o MyBHO.wxs -template product -ag -suid
person
saschabeaumont
schedule
01.06.2011