对于使用 Install4j 构建的安装程序,如何在安装程序执行时将值附加到版本?

How do I append a value to the version when the installer executes, for an installer built with Install4j?

我们有一个 Java 应用程序,它是使用 Install4j 构建的安装程序安装的。该产品根据其安装位置访问不同的数据库层。所以开发层安装在C:....\dev\ProductName,测试层安装在C:....\test\ProductName,等等

此外,系统管理员希望程序将数据库层附加到版本号,以便他们可以查询注册表以查看为特定层安装的版本。因此,版本 1.5.0 将变为 1.5.0.dev.

有没有办法在安装程序运行时向版本附加一些内容?到目前为止,我无法让安装程序执行此操作。我已经尝试 运行 一个设置 "sys.version" 变量的脚本,将 ${tier} 变量添加到版本字段,以及其他一些东西,但是当安装程序运行。也许那是不可能的。

有什么想法吗?

要在运行时将字符串附加到安装目录,请将 "Run script" 操作添加到安装程序的 "Startup" 节点并调用

context.setInstallationDirectory(
     new File(context.getInstallationDirectory(), ".dev1"));

在里面。在 "Installer->Update Options" 上,应取消选择 "Detect previous installation directory" 复选框,否则添加的字符串将在更新期间累积。