0

我正在尝试使 .msi 文件可以打开一个可执行文件,该可执行文件将注册一个浏览器帮助对象。由于这涉及写入注册表,因此必须使用管理权限提升 cmd.exe。我可以操纵 ShellExecute() 函数来弹出一个 UAC 对话框并询问用户是否想以管理员身份运行 cmd,但是,我不想让用户对安装进行任何控制。许多在线研究使我得出结论,没有管理权限就不可能使用浏览器帮助对象,所以我的问题是:假设安装程序已经运行,cmd.exe 是否能够继承 msi 安装程序的权限行政权利?无济于事,我也尝试过以管理员身份自动运行cmd。我感谢任何指导或帮助,

4

2 回答 2

2

您应该能够在大约 100 行WiX中不使用 CMD 来实现这一点,并且只需手动编写所需的注册表项,无需执行 cmd.exe 或 regsvr32。请注意,自我注册(您正在尝试做的事情)是一种非常糟糕的做法,会导致安装混乱。

以下命令应该可以帮助您入门:

heat.exe file MyBHO.dll -o MyBHO.wxs -template product -ag -suid
于 2011-06-01T03:40:23.607 回答
0

我的理解是,如果启用了 UAC,则应该无法绕过它。如果有,那就是一种利用,应该避免。

于 2011-05-31T17:16:20.043 回答