InstallAnywhere - Keep Previous Variables When Upgrading Product

保留使用者設定是在Upgrade軟體時必要的動作之一。當你採用先反安裝再執行重新安裝來做軟體更新的流程時,要如何讓使用者不需再次輸入設定,又能直接使用他之前所輸入的內容呢? 舉例來說,我的安裝程式提供了三個Feature的安裝,但使用者先前只安裝其中一個;我該如何在執行更新時,只針對這個Feature安裝新版本呢? 本篇文章分享一個簡單達到此目的的方法。

(軟體本身設定是各自軟體需負責處理的,並不在本篇文章討論範圍)

在IA安裝完軟體後,都會在反安裝程式的相同目錄下,產生installvariables.properties檔案;這個檔案會記錄安裝所使用的變數,包含你安裝哪些Feature、IA內建變數、使用者自訂變數等。

因此我們可以選擇在執行反安裝之前,使用Properties File Reader Action將它讀進來:


詳細設定可以參考以下:


PROPERTIES_FILE_LOCATION必需指定到已安裝軟體反安裝目錄下的installvariables.properties,已安裝軟體的路徑可以參考先前文章

PROPERTIES_TO_IGNORE用於略過檔案變數的匯入。由於我們會將密碼encode,因此在這裡匯入也沒用,必須另外處理;此外,像是版本號或是版本ID有變動的項目,並不適合匯入,這要記得設定上去。
接下來你就可以執行反安裝並略過需要手動設定的步驟了。