Installation 如何从另一个MSI调用MSI文件?

Installation 如何从另一个MSI调用MSI文件?,installation,wix,driver,Installation,Wix,Driver,我在应用程序的安装项目中使用WIX,我必须在安装应用程序的同时安装设备驱动程序。因此,对于每个x86和x64平台,我有两个驱动程序安装程序文件(因为我必须使用difxapp_x64/difxapp_86参考文件,我需要有两个单独的安装项目)和一个应用程序安装项目。现在基于平台,我想从一个msi文件(Bootstrapper!?)调用驱动程序安装程序msi文件和应用程序安装程序文件。我怎样才能做到这一点 经过一番搜索,我在wix 3.6中了解到有一个新工具叫做“Burn”,这将帮助我调用链接在一

我在应用程序的安装项目中使用WIX,我必须在安装应用程序的同时安装设备驱动程序。因此,对于每个x86和x64平台,我有两个驱动程序安装程序文件(因为我必须使用difxapp_x64/difxapp_86参考文件,我需要有两个单独的安装项目)和一个应用程序安装项目。现在基于平台,我想从一个msi文件(Bootstrapper!?)调用驱动程序安装程序msi文件和应用程序安装程序文件。我怎样才能做到这一点


经过一番搜索,我在wix 3.6中了解到有一个新工具叫做“Burn”,这将帮助我调用链接在一起的安装包集合。。因此,我创建了一个新的安装项目作为引导程序。但是当我构建它时,我成功地创建了msi文件,但无法运行它。。代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<?define version="1.3.0.3"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Bundle Name="Bootstrap" Version="1.0.0.0" Manufacturer="Bootstrap" UpgradeCode="58A81C66-C066-4CA1-9712-D884C11C88BD">
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
    <Chain>
       <ExePackage Id="ExeProject" 
                    SourceFile="../../../CCSetupProject/bin/Release/CCSetupProject.exe" 
                    InstallCommand="/q /ACTION=Install" 
                    Name="iCConnectInstaller"
                    Vital="yes"
                    PerMachine="yes"/>
    </Chain>
  </Bundle>
</Wix>

当我单击Bootstrapper.msi文件时,它会显示“正在准备安装”,然后显示“无法打开此安装程序包。请与应用程序供应商联系以验证此安装程序包是否有效。”


不知道我在这里错过了什么!,以前有人犯过这个错误吗

拥有两个独立的包是不可能的

要解决这个问题,您必须为驱动程序构建一个合并模块,然后将其与主安装合并


通过使用单独的合并模块,您可以创建一个仅安装驱动程序的附加包,或者您可以使用产品功能选择要安装的组件。

我们可以调用不同项目中的合并模块,因为我无法在同一项目中添加“difxapp_x64/difxapp_86”参考文件。我需要在项目中包含这些文件,以便在适当的平台上安装设备驱动程序。实际上,这取决于您:Wix组件可以从任何路径获取文件,实际上,您可以从项目中获取这些文件。也许您可以设置一个解决方案,使Wix项目依赖于那些需要更新的项目。请记住,Wix作为预处理器和变量,使路径确定更加灵活。