2

我几乎选择 install4j 作为我项目的安装包。在许多其他优点中,据我所知,它对升级的内置支持超越了该领域。不过我确实有一个奇怪的问题..

是否有最佳实践或任何可重用代码来支持“引导” install4j 安装程序的概念,以及它需要支持的任何元数据升级使用“本土”安装机制安装的产品的旧版本?

与我假设的许多项目一样,我们的项目已经存在多年,并且有用于 Windows 的 InstallShield 安装程序和用于 Unix 的 BASH 脚本的混杂。我们正在使用 install4j 来整合所有这些。

一些可能有趣的后续问题可能是: 1. 有没有办法可以在 API 中设置从 isUpgradeInstallation() 返回的值?2. 如果我将一个文件放到 .install4j 目录中,并且在我的新安装程序中嵌入了应用程序 ID,那么 install4j 可以运行吗?

任何想法/指针将不胜感激。

4

1 回答 1

2

通常您会添加自定义逻辑来处理遗留升级的情况。

但是,您可以通过在包含文件的旧安装目录中创建 .install4j 目录来将旧安装转换为“假” install4j 安装i4jparams.conf。在那个伪造的配置文件中,唯一重要的信息是版本信息和应用程序 ID,您可以删除其他所有内容。

然后context.isUpdateInstallation()将返回true。

于 2012-03-20T09:53:35.527 回答