IzPack:可以创建一个应用程序更新程序吗?

时间:2012-01-27 11:32:01

标签: izpack

我使用IzPack创建了一个安装程序。一切正常。现在我想知道,有没有一种很好的方法来创建一个安装程序,如果已经存在,它将负责更新应用程序?

我测试了再次运行安装程序,但他没有意识到应用程序已安装。

2 个答案:

答案 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来说。它会向注册表写入内容并在您尝试重新安装时检查它。