使用Wix安装32位和64位驱动程序?

Ala*_*ark 11 installer 64-bit windows-installer wix driver

我有一个Wix项目,我希望在使用x86版本配置构建时安装32位驱动程序,使用x64构建时安装64位驱动程序.

我现在这样做的方式是两个相同的项目,但一个引用difxapp_x86,另一个引用difxapp_x64.我能改进吗?

另外,如果我引用difxapp_x86并构建64位版本,那么毫不奇怪我得到msi错误:

"DIFXAPP:错误 - 您需要使用64位版本的DIFXAPP.DLL在此计算机上安装驱动程序."

是否可以根据所选的构建配置有条件地引用这些?

谢谢,艾伦

Ala*_*ark 15

我设法找到了一个解决方案,涉及手动编辑项目文件.

我改变了以下部分:

<ItemGroup>
  <WixLibrary Include="difxapp_x86">
    <HintPath>C:\Program Files\Windows Installer XML v3.5\bin\difxapp_x86.wixlib</HintPath>
    <Name>difxapp_x86</Name>
  </WixLibrary>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

以下内容:

<ItemGroup>
  <WixLibrary Include="difxapp_$(Platform)">
    <HintPath>C:\Program Files\Windows Installer XML v3.5\bin\difxapp_$(Platform).wixlib</HintPath>
    <Name>difxapp_x86</Name>
  </WixLibrary>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

现在,引用的路径将由Platform变量的状态决定.希望它有同样的要求帮助其他人.

艾伦

  • 注意:以上内容有助于为不同平台构建 MSI。它没有解决需要两个 MSI 的问题,一个用于 x86,一个用于 x64。 (2认同)