Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wix如何处理需要管理员权限的合并模块?_Wix_Windows Installer_Upgrade_Merge Module - Fatal编程技术网

Wix如何处理需要管理员权限的合并模块?

Wix如何处理需要管理员权限的合并模块?,wix,windows-installer,upgrade,merge-module,Wix,Windows Installer,Upgrade,Merge Module,我目前正在计划一个安装和更新方案,使用Wix创建的MSI。 初始安装将包括作为合并模块的第三方驱动程序,这将需要提升权限 我们希望尽可能地自动化软件更新,因此将定期提供更新的MSI软件包。这些将在后台下载,并在用户下次打开应用程序时安装。我们将实施流程,以确保自动更新中不会包含对驱动程序模块的更改 如果不更改这些合并模块,Windows Installer会执行它们吗?这将对整个安装程序产生什么影响?我是否最好为这些驱动程序创建一个单独的MSI,将它们与核心应用程序包完全隔离开来?以下是一些背景

我目前正在计划一个安装和更新方案,使用Wix创建的MSI。 初始安装将包括作为合并模块的第三方驱动程序,这将需要提升权限

我们希望尽可能地自动化软件更新,因此将定期提供更新的MSI软件包。这些将在后台下载,并在用户下次打开应用程序时安装。我们将实施流程,以确保自动更新中不会包含对驱动程序模块的更改


如果不更改这些合并模块,Windows Installer会执行它们吗?这将对整个安装程序产生什么影响?我是否最好为这些驱动程序创建一个单独的MSI,将它们与核心应用程序包完全隔离开来?

以下是一些背景知识,以帮助解决问题。合并模块未“执行”。事实上,一旦你建立了一个安装程序,它们就不存在了。合并模块只是一个包含MSI表数据的数据库,它在构建时被合并到MSI中。可以将其视为组件和相关元数据集合的封装。它就像一个C/C++.LIB文件,在EXE中静态链接

因此,如果您的组件(来自MSI或MSM)需要提升权限才能安装,那么最终的MSI需要提升权限才能安装


我以前做过这个自动更新过程。您希望该进程具有提升的权限,在下载MSI后,将其作为每台机器的托管“广告”(我称之为“受祝福的”MSI)。这是使用msiexec/jm foo.msi命令完成的。然后向用户端进程发送信号以安装MSI。如果编写正确,MSI将自动提升,而不会向用户公开管理员权限。

谢谢,这让我对我需要做的事情有了更好的了解。为了澄清,当你说我需要一个权限提升的“进程”时,我需要在每台机器上都安装一些自动化的东西,比如Windows服务?是的。与我一起工作的开发团队创建了一个windows服务,它以系统的形式运行,使用了一个名为wuw4()的库他们将此作为创建工作流的框架,我提供了宣传MSI和安装MSI所需的安全模型理解和步骤,以及MSI中必须遵循的某些标准,以便自动提升正常工作。(他们不知道的标准MSI最佳实践。)