2012-01-03 128 views
11

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

我刚才这样做的方式是使用两个相同的项目,但一个引用difxapp_x86,另一个引用difxapp_x64。我可以改进吗?

另外,如果我引用difxapp_x86,并建立64位版本,那么勿庸置疑,我得到了MSI错误:

"DIFXAPP: ERROR - You need to use the 64-bit version of DIFXAPP.DLL to install drivers on this machine."

是否有可能参考这些有条件地根据所选择的构建配置?

谢谢你,艾伦

+0

我也遇到同样的错误。而不是使用DIFXAPP,只需调用SetupCopyOemInf并执行一些错误处理的自定义操作应该允许您为32位和64位Windows(我多次成功完成该操作,而不是使用WiX)创建一个安装程序。 – 2014-05-23 02:06:55

回答

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> 

以下内容:

<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> 

现在的路径,参考将由平台变量的状态来确定。希望它能以相同的要求帮助他人。

Alan

相关问题