2012-01-03 124 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

相關問題