WiX 3.11.1 Burn 引导程序无法提升
WiX 3.11.1 Burn bootstrapper fails to elevate
我们有一个使用 WiX 3.11.1 构建的设置,如果该 exe 没有以提升的权限(又名 "Run as Administrator")启动,那么我们将尝试以编程方式触发一个新进程,动词为 "runas" 和文件名作为主 exe 启动的位置 (C:\Users\loggedin_username\AppData\Local\Temp{GUID}.cr\setup_name.exe)
但是新触发的进程通过在临时目录中创建新的日志文件并显示以下消息而突然退出:
- 错误 0x80070006:无法找到文件的开头。
- 错误 0x80070006:无法初始化引擎部分。
- 错误 0x80070006:无法初始化引擎状态。
如果我们对 WiX 3.10.2 执行相同操作(以编程方式触发具有提升权限的新进程),那么它会创建一个新进程并正常工作。
我想,从 WiX 3.11.1 开始,我们无法使用提升的权限启动相同的 exe。不确定 WiX 团队是否对安全性进行了任何重大更改。这是 WiX 3.11.1 中的已知问题吗?
我想要实现的是add/modify HKLM\Microsoft\Windows\CurrentVersion\Uninstall 路径中已安装设置注册表项的键值。在 Windows 10 及更高版本上,只有管理员可以完全访问 HKLM 路径。
如果使用 "Run as Administrator" 选项启动 WiX 设置,一切正常,但如果用户未使用该选项启动,我想以编程方式启动以提升权限访问 HKLM 路径,但使用 WiX 3.11.1 它失败了。
关于如何实现有什么建议吗?任何帮助将不胜感激。
谢谢
Burn 不支持提升的引导程序应用程序。要写入每个机器的位置,如 HKLM
,请在一个包中执行。
我们有一个使用 WiX 3.11.1 构建的设置,如果该 exe 没有以提升的权限(又名 "Run as Administrator")启动,那么我们将尝试以编程方式触发一个新进程,动词为 "runas" 和文件名作为主 exe 启动的位置 (C:\Users\loggedin_username\AppData\Local\Temp{GUID}.cr\setup_name.exe)
但是新触发的进程通过在临时目录中创建新的日志文件并显示以下消息而突然退出:
- 错误 0x80070006:无法找到文件的开头。
- 错误 0x80070006:无法初始化引擎部分。
- 错误 0x80070006:无法初始化引擎状态。
如果我们对 WiX 3.10.2 执行相同操作(以编程方式触发具有提升权限的新进程),那么它会创建一个新进程并正常工作。
我想,从 WiX 3.11.1 开始,我们无法使用提升的权限启动相同的 exe。不确定 WiX 团队是否对安全性进行了任何重大更改。这是 WiX 3.11.1 中的已知问题吗?
我想要实现的是add/modify HKLM\Microsoft\Windows\CurrentVersion\Uninstall 路径中已安装设置注册表项的键值。在 Windows 10 及更高版本上,只有管理员可以完全访问 HKLM 路径。
如果使用 "Run as Administrator" 选项启动 WiX 设置,一切正常,但如果用户未使用该选项启动,我想以编程方式启动以提升权限访问 HKLM 路径,但使用 WiX 3.11.1 它失败了。
关于如何实现有什么建议吗?任何帮助将不胜感激。
谢谢
Burn 不支持提升的引导程序应用程序。要写入每个机器的位置,如 HKLM
,请在一个包中执行。