2011-11-16 30 views
2

我爲我的應用程序的安裝項目使用WIX,我必須安裝設備驅動程序以及我的應用程序安裝程序。所以我對每個x86和x64平臺都有兩個驅動程序安裝文件(因爲我必須使用difxapp_x64/difxapp_86參考文件,我需要兩個單獨的安裝項目)以及一個應用程序安裝項目。現在基於該平臺,我想從一個Msi文件(Bootstrapper!?)調用驅動程序安裝程序msi文件和應用程序安裝程序文件之一。我怎樣才能做到這一點?如何從另一個MSI調用MSI文件?


有點搜索我進來的WiX 3.6知道後有一個新的工具所知道的「刻錄」,這將幫助我打電話給那鏈接在一起的安裝包集合..所以我創建作爲Bootstrapper的新安裝項目。但是當我建立自己創建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文件它說:「準備安裝」,然後「這無法打開安裝包,請與應用程序供應商聯繫以確認這是一個有效的Windows安裝程序包。「

不知道我在這裏失蹤!,有人得到這個錯誤嗎?

回答

0

你不能有兩個獨立的軟件包。

要解決此問題,您必須爲驅動程序構建合併模塊,然後將其與主安裝合併。

通過單獨的合併模塊,您可以創建一個僅安裝驅動程序的附加軟件包,或者您可以使用產品功能來選擇安裝了哪些軟件。

+0

我們可以調用不同項目中的合併模塊,因爲我不能在同一個項目中添加「difxapp_x64/difxapp_86」參考文件。這些文件,我需要在項目中安裝設備驅動程序在適當的平臺。 – Prady

+0

好吧,實際上取決於你:Wix組件可以從任何路徑獲取文件,確實可以將這些文件從項目中移出。也許你可以設置一個解決方案,並使Wix項目依賴於那些需要更新的項目。請記住Wix作爲預處理器和變量,使得路徑確定更加靈活。 – Luca