我用IzPack創建了一個安裝程序。一切正常。現在我想知道,是否有創建一個安裝程序的好方法,如果這個安裝程序已經存在,它將負責更新應用程序?IzPack:可以創建一個應用程序更新?
我測試過再次運行安裝程序,但他沒有認識到應用程序已安裝。
我用IzPack創建了一個安裝程序。一切正常。現在我想知道,是否有創建一個安裝程序的好方法,如果這個安裝程序已經存在,它將負責更新應用程序?IzPack:可以創建一個應用程序更新?
我測試過再次運行安裝程序,但他沒有認識到應用程序已安裝。
我已經使用IzPack進行安裝和更新。 IzPack本身並不與任何包裝系統配合使用,所以IzPack無法確定是否已經安裝了某些東西。你可能會嘗試與註冊表進行交互或者在安裝時創建一些特定的文件,但仍然很麻煩(無論如何)。
然而IzPack確實在覆蓋它之前是否已經存在一個文件,所以如果你正在運行一個更新,那麼一個例子就是你希望二進制文件被更新,但是用戶配置保持不變,所以在packs元素中做這樣的事情:
<packs>
<pack name="CorePack" required="yes" preselected="yes">
<description>The core of the app.</description>
<file src="bin/binaryapp" targetdir="$INSTALL_PATH/bin"
override="true">
<os family="unix" />
</file>
<file src="etc/config.conf" targetdir="/etc/appdir">
<os family="unix" />
</file>
</pack>
</packs>
您可以看到二進制文件的override =「true」,其中配置沒有(默認覆蓋= false)。二進制文件得到更新,config不。
傑夫
CheckedHelloPanel會做你的工作,至少對於Windows。它會向註冊表寫入內容,並在您嘗試重新安裝時檢查該內容。
感謝您的迴應,但用戶可以更改安裝路徑,在這種情況下,您的軟件將不會更新,並且您將有重複的安裝。 – 2012-02-23 20:11:34