我寫了一個使用WPF管理的wix引導程序。實際的安裝步驟需要鏈接多個msi的/ exe文件和批處理文件。wix bootstrapper
<Chain>
<MsiPackage SourceFile="xxx"/>
<ExePackage Id="Test" SourceFile="..\TestBatch.bat" Vital="yes"/>
<MsiPackage SourceFile="yyy"/>
</Chain>
每個包的執行過程中,應顯示的消息(優選地從引導程序UI)指示正當前執行MSI/EXE包/批處理文件。 簡而言之,引導程序中需要一個ProgressText我該如何做到這一點?
另一個問題:我不希望所有的msi被打包到bootstrapper exe中。這是因爲:每次更改msi時,我們只想發佈更新/修改的msi,而不是整個引導程序exe。有沒有辦法做到這一點?
謝謝Rob。上述兩個建議都很好地滿足了我的目的。我想知道是否可以將我的ExecPackage消息傳遞迴引導程序?情況是這樣的:我有一些批處理文件需要執行,而我正在使用ExecPackage來完成這個任務。根據批處理中的一些結果,我想顯示一條適當的消息給用戶,並提供選項以繼續/終止/重新啓動等。 – microsoftprogrammer 2013-03-07 11:56:14
繼續我上面的評論...我想,我可能會將郵件另存爲註冊表項並在ExecutePackageComplete事件中檢索它。有沒有其他方法可以做到這一點? – microsoftprogrammer 2013-03-08 07:48:45
您的可執行文件可以實現「嵌入式刻錄協議」以發送豐富的進度和錯誤消息。它根本沒有記錄,所以你需要通過Burn代碼來查看協議,但它在那裏,並會準確得到你想要的。 WiX源代碼中的「bundlerunner」.csproj可能也有幫助。 – 2013-03-08 08:52:13