我在理解InstallShield如何處理升級時遇到了一些麻煩。在升級過程中始終執行刪除/重新安裝
我想要的是能夠增加安裝程序的版本號,重新編譯並分發我的安裝程序。這應該會自動刪除以前的任何版本的應用程序,並安裝最新版本(並且應該以「升級」的形式呈現給用戶)。
這是一個非常簡單的安裝程序,它只需要從一些Visual Studio項目(應用程序EXE,某些DLL等等)輸出並將它們全部安裝到Program Files中。只有一個功能,它始終安裝。
我不想更改產品的升級代碼,因爲我必須爲每個以前的版本創建新的升級路徑(這是凌亂的)。
我已經嘗試過(增加版本號,但不更改產品代碼或升級代碼),但每次我運行安裝程序以「升級」產品時,都會顯示「恢復[ProductName]的嚮導「,有時一些文件不會被來自較新安裝程序的較新對應文件替換。
我不增加版本號的「修訂」號碼。我知道這被忽略了。通常,我會嘗試類似2.0.3 => 2.0.4
。
如何設置InstallShield,以便自動刪除以前的任何版本,安裝最新版本,並在已安裝先前版本的情況下將其作爲「升級」或「更新」呈現給用戶?如果沒有,它應該像正常一樣安裝(「安裝」,而不是「更新」)。
我使用InstallShield 2013專業版(20版SP1),我堅持到Visual Studio 2010中
您正在使用哪種項目類型? Installscript MSI,Basic MSI,純Installscript? –
我相信這是一個基本的MSI項目,但我不熟悉InstallShield,所以我不確定。它在項目文件夾中有一個'.isproj'文件和'.ism'文件。 – qJake
我想你可以通過更新升級表來實現你想要的功能,除了你已經在做的事情之外。請仔細閱讀以下內容:http://apprepack.blogspot.no/2012/06/msi-upgrade-table.html。基本上更新VersionMax字段。這假定已經爲主要升級場景設置了設置。 –