這是本文件的舊版!


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有變動的項目,視不適合匯入的,也記得要設定上去。