用MS VS打包程序,有個細節有點坑爹
寫出來給大家看看
一般來說MSDN都這么解釋
RemovePreviousVersions 屬性的設置如下所示:
設置 |
說明 |
---|---|
False |
安裝程序不檢查是否有早期版本。 |
True |
安裝程序檢查是否有早期版本;一經發現,便會立即將其卸載。 |
指定安裝程序在安裝期間是否移除應用程序的早期版本。如果此屬性設置為 True,並且在安裝時檢測到了早期版本,則將調用以前版本的卸載功能。
安裝程序檢查“UpgradeCode”和“ProductCode”屬性,以確定是否應移除早期版本。新舊兩種版本的 UpgradeCode 必須相同;ProductCode 必須不同。
如果已在應用程序的安裝項目中同時設置了安裝和卸載自定義操作,而且已在 Visual Studio 2005 中啟用了“RemovePreviousVersions”屬性,則會在升級過程中卸載產品的早期版本。不過,此行為在 Visual Studio 2008 中做了如下更改:
在 Visual Studio 2005 中,當從 v1.0.0 升級到 v1.0.1 時,按如下方式調用自定義操作:
v1.0.0 custom action Uninstall()
v1.0.1 custom action Install()
在 Visual Studio 2008 中,不會調用卸載操作,如下所示:
v1.0.1 custom action Install()
如果創建了依賴於舊行為的自定義操作,則需要針對新行為修改您的代碼。此行為更改只影響更新,不影響卸載。
所以,你要是用VS2008的話,RemovePreviousVersions 怎么設都沒用。