我用 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" 而配置没有(默认情况下 override=false)。二进制被更新,配置没有。
杰夫
CheckedHelloPanel 将完成您的工作,至少对于 Windows。如果您尝试重新安装,它会向注册表写入一些内容并检查它。