我正在编写一个自定义引导程序应用程序,它必须安装3个msiPackages(InstallScope设置为“perMachine”所有这些)。 但BA不会安装任何一个。 以下是来自日志文件的错误消息:
错误0x800700e8:无法将消息类型写入管道。错误 0x800700e8:无法将发送消息写入管道。错误0x800700e8: 发送失败 BURN_ELEVATION_MESSAGE_TYPE_PROCESS_DEPENDENT_REGISTRATION消息到 每机器过程。错误0x800700e8:无法执行依赖项 登记行动。错误0x800700e8:无法写入消息类型 管。错误0x800700e8:无法将发送消息写入管道。错误 0x800700e8:无法向每台计算机进程发送消息。错误 0x800700e8:无法在每台机器进程中保存引擎状态。
当我以管理员身份运行软件包安装程序时,所有软件包都已成功安装。对于安装perMachine,似乎需要提升BA。 据我所知,Engine.Apply()提升了安装过程。并在调用Engine.Apply()后,出现UAC对话框。但仍然无法安装msiPackages。
我尝试了msiPacages配置并得到了一个有趣的结果。如果其中一个软件包配置为perUser安装,BA将正常工作,并安装所有没有管理员权限的组件。但是必须安装所有包perMashine。
我的学士学位可能有什么问题?