2013-03-15 59 views
1

我已經使用wix 3.6創建了一個安裝程序,它生成一個包含多個對話框(EULA,安裝位置等)的msi文件。然後,我在「軟件安裝」模式下使用WinZip Self Extractor創建一個自解壓zip文件,該模塊可以啓動msi。所有這些都很好。WinZip Self Extractor將命令行參數傳遞給msi

但是,有些用戶已經要求一個「最小化」的安裝模式,不會提示輸入,它只是使用所有的默認設置和安裝。這將用於管理類型安裝,作爲更大安裝腳本的一部分。我可以將/ qb傳遞給msi並獲得他們想要的確切行爲,但是如果我將/ qb傳遞給自我提取器exe,它不會像我想要的那樣將它傳遞給msi。我查看了WinZip Self Extractor文檔,但沒有找到答案。關於如何使這項工作的任何想法?

+0

我會建議看看使用WiX工具集附帶的刻錄。 Burn將允許您創建引導程序/ chainer,並且可以將msi嵌入到其中,而不是使用自解壓歸檔實用程序。 – BryanJ 2013-03-15 19:15:29

回答

3

我不建議使用通用的自解壓縮可執行文件,如WinZip等,因爲它們不會緩存MSI文件。未來的MSI操作(包括次要升級,補丁和修復)可能需要向MSI提供自解壓器所使用的名稱(希望WinZip不會更改該名稱),並將默認爲路徑(通常爲%TEMP%)。用戶在遇到這種情況時往往非常困惑,無法升級或修復安裝。

相反,我建議使用專用於安裝軟件包的Bootstrapper/Chainer。 WiX v3.6 +附帶一個名爲Bundle的新功能,該功能使用新的刻錄引擎來處理所有自解壓方案,以及更多功能。創建前面需要多一點工作,但可以按照您在此問題中提出的問題行事。

可能不是您尋找的答案,但我強烈建議考慮使用真正的引導程序/ chainer而不是自動提取程序。