2009-02-26 58 views
14

我正在尋找InstallShield的替代品。不幸的是,我們只有1個InstallShield許可證,並且它安裝在開發人員的機器上。我正在考慮切換到WiX,但在閱讀文檔後,會看到產品ID GUID,升級代碼GUID和軟件包GUID。從InstallShield切換到WiX

我也知道GUID是由InstallShield創建的。如果我切換到WiX,我可以開始使用新的GUID,還是使用由InstallShield創建的一些GUID?如果升級到產品發佈會切換安裝程序軟管擁有舊安裝程序的客戶?

回答

18

爲了能夠升級舊的軟件包,您需要使用(並找出)舊的升級代碼。
對於每個不同的MSI,包代碼應該不同(即自動生成)(MSI可以使用guid作爲緩存鍵進行緩存)。
主要升級之間的產品代碼應該不同,但對於次要升級和修補程序非常重要。我沒有使用威克斯現在做任何事情比重大升級別的,所以我不知道確切的細節

請參閱MSDN文章patching and upgrades還有WiX Tutorial

+1

+1,升級代碼是唯一的GUID需要如果您打算不破組件引用計數遷移過 – saschabeaumont 2009-02-26 21:38:35

5

我還建議讓The Definitive Guide to Windows Installer,I 高度的副本推薦這本書,不知道如果沒有它,我將如何遷移到WiX。這是Windows Installer的一個非常低級的概述,如果你理解了這本書,那麼WiX變得非常簡單。

11

知道可以使用dark.exe工具(包含在wix中)反編譯installshield生成的msi也可能很有趣。這將恢復升級代碼等。

2

我知道你已經接受了答案,但如果你還沒有這樣做,請與Orca交朋友。

Orca幫助我理解微星和WiX在底下做了些什麼。在你的情況下,它會使查找升級(或任何)GUID變得非常簡單。

question也可以節省您的時間和頭痛:)