2012-01-27 76 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。它会向注册表写入内容,并在您尝试重新安装时检查该内容。

相关问题