我使用IzPack创建了一个安装程序。一切正常。现在我想知道,有没有一种很好的方法来创建一个安装程序,如果已经存在,它将负责更新应用程序?
我测试了再次运行安装程序,但他没有意识到应用程序已安装。
答案 0 :(得分:0)
我使用IzPack进行安装和更新。 IzPack本身并不与任何包装系统相关联,因此IzPack无法确定是否已经安装了某些东西。您可能会尝试与安装时创建的注册表或某些特定的flie进行交互,但这仍然很混乱(无论如何)。
然而,IzPack确实在覆盖它之前检查文件是否已经存在,所以如果你正在运行更新,那么一个例子就是你希望更新二进制文件但是单独保留用户配置,所以在pack元素中做这样的事情: / p>
<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”,而配置中没有(默认情况下override = false)。二进制更新,配置没有。
杰夫
答案 1 :(得分:0)
CheckedHelloPanel将完成你的工作,至少对于Windows来说。它会向注册表写入内容并在您尝试重新安装时检查它。