2015-11-05 116 views
0

我面臨的一個問題,而在Windows 7.My包裝我的最新的軟件版本最新的軟件版本是不升級兼容。所以如果用戶已經擁有老版本的軟件,我不得不停止安裝(禁用未來按鈕),或者向客戶發送一些通知以刪除舊版本。 安裝屏蔽(2015)有可能嗎?如果在Windows安裝了較舊版本的軟件,如何停止安裝?

+1

在MSI中,通過檢查「UpgradeCode」並比較版本號來完成。請參閱此處:https://msdn.microsoft.com/en-us/library/aa370579%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396並在此處:http://blogs.msdn.com/ b/pusu/archive/2009/06/10/understanding-msi.aspx - 由於InstalShield建立在MSI之上,所以應用相同的概念。 – Dai

回答

2

你可能會想遵循相同的機制ISPreventDowngrade用途。在「升級」視圖中,有一個主要升級項目配置爲「僅檢測」。然後在自定義操作和序列視圖中,只有在設置了該升級項目的操作屬性時纔會觸發錯誤操作。

如果您將這兩個項目與新的操作屬性(以及新條件)一起復制,並更改升級項目以查找早期版本範圍而不是將來版本,則應該能夠獲得所需的行爲。

如果你希望有版本的一個特定的閾值(即從任何1.0-4.0升級到任何5.0或更高版本需要這個,但是從5.0升級到6.0不會),你可以明確地配置版本範圍。相反,如果您希望將來您將始終需要此功能,則可以搜索任何以前的版本,並讓上限與您的產品匹配。以後任何版本都可以更改。

相關問題