2012-01-27 37 views
1

我用IzPack創建了一個安裝程序。一切正常。現在我想知道,是否有創建一個安裝程序的好方法,如果這個安裝程序已經存在,它將負責更新應用程序?IzPack:可以創建一個應用程序更新?

我測試過再次運行安裝程序,但他沒有認識到應用程序已安裝。

回答

0

我已經使用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不。

傑夫

+0

感謝您的迴應,但用戶可以更改安裝路徑,在這種情況下,您的軟件將不會更新,並且您將有重複的安裝。 – 2012-02-23 20:11:34

0

CheckedHelloPanel會做你的工作,至少對於Windows。它會向註冊表寫入內容,並在您嘗試重新安裝時檢查該內容。

相關問題