IzPack:可以创建一个应用程序更新程序吗?
我使用 IzPack 创建了一个安装程序。一切正常。现在我想知道,是否有一种好方法来创建一个安装程序,该安装程序将负责更新应用程序(如果已经存在)?
我再次测试运行安装程序,但他无法识别该应用程序已安装。
I created one installer with IzPack. Everything works fine. Now I'm wondering, is there a good way to create one installer that will take care of update the application if this already exists?
I tested running the installer again, but he not recognize that the application is installed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我使用 IzPack 进行安装和更新。 IzPack 本身不与任何打包系统绑定,因此 IzPack 无法确定是否已安装某些内容。您可能会尝试与注册表或在安装时创建的某些特定文件进行交互,但这仍然很混乱(无论如何对我来说)。
然而,IzPack 在覆盖文件之前会检查文件是否已经存在,因此如果您正在运行更新,那么一个例子是您希望更新二进制文件但保留用户配置,因此在 packs 元素中执行类似的操作
:二进制文件具有 override="true",而配置没有(默认 override=false)。二进制文件已更新,但配置未更新。
杰夫
I have used IzPack for installing and updating. IzPack does not natively tie in with any packaging system so there is no way for IzPack to conclusively know if something has been installed. You might try to interact with registry or some specific flie you create at install time but that is still messy (to me anyway).
IzPack does however check if a file already exists before overwriting it so if you are running an update then an example is that you would want binaries to be updated but user configuration left alone so do something like this inside the packs element:
You see that the binary has override="true" where the config does not (by default override=false). Binary gets updated, config does not.
Jeff
CheckedHelloPanel 会完成你的工作,至少对于 Windows 来说是这样。如果您尝试重新安装,它会向注册表写入一些内容并进行检查。
CheckedHelloPanel will do your job, at least for windows. It writes something to the registry and checks this if you try to reinstall.