我用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