Java 对于使用Install4j构建的安装程序,如何在安装程序执行时向版本附加值?
我们有一个Java应用程序,它是用Install4j构建的安装程序安装的。该产品根据安装位置访问不同的数据库层。因此,开发层安装在C:..\dev\ProductName,测试层安装在C:..\test\ProductName,等等 此外,系统管理员希望程序将数据库层附加到版本号,以便查询注册表,查看为特定层安装的版本。因此,版本1.5.0将变成1.5.0.dev 在安装程序运行时,是否有方法将某些内容附加到版本中?到目前为止,我还不能让安装人员这样做。我试过运行一个脚本来设置“sys.version”变量,在version字段中添加${tier}变量,以及其他一些东西,但在安装程序运行时无法更改版本。也许这是不可能的Java 对于使用Install4j构建的安装程序,如何在安装程序执行时向版本附加值?,java,installation,install4j,Java,Installation,Install4j,我们有一个Java应用程序,它是用Install4j构建的安装程序安装的。该产品根据安装位置访问不同的数据库层。因此,开发层安装在C:..\dev\ProductName,测试层安装在C:..\test\ProductName,等等 此外,系统管理员希望程序将数据库层附加到版本号,以便查询注册表,查看为特定层安装的版本。因此,版本1.5.0将变成1.5.0.dev 在安装程序运行时,是否有方法将某些内容附加到版本中?到目前为止,我还不能让安装人员这样做。我试过运行一个脚本来设置“sys.vers
有什么想法吗?要在运行时将字符串附加到安装目录,请在安装程序的“启动”节点中添加“运行脚本”操作,然后调用
context.setInstallationDirectory(
new File(context.getInstallationDirectory(), ".dev1"));
在里面。在“安装程序->更新选项”上,应取消选中“检测以前的安装目录”复选框,否则添加的字符串将在更新过程中累积。要在运行时将字符串附加到安装目录,请将“运行脚本”操作添加到安装程序的“启动”节点,然后调用
context.setInstallationDirectory(
new File(context.getInstallationDirectory(), ".dev1"));
在里面。在“安装程序->更新选项”中,应取消选中“检测以前的安装目录”复选框,否则添加的字符串将在更新过程中累积。谢谢。这适用于安装目录。是否有方法附加到版本或产品名称?您可以覆盖显示产品名称或版本的消息,但无法在运行时更改版本本身。好的,我们将停止尝试更改版本。:-)我们如何在运行时更改产品名称?我在上下文中没有看到中的设置程序。可以通过在“常规设置”>“应用程序信息”步骤的“全名”字段中使用安装程序变量来更改应用程序名,例如
${installer:myProductName}
。然后,您可以在安装程序的“启动”节点中使用“设置变量”操作进行设置。此外,您应该在安装程序的“安装程序变量”选项卡上使用默认值预先配置此变量。嘿,越来越近了!现在唯一的问题是,当安装程序启动时,它会显示“${installer:myProductName}正在准备install4j向导,该向导将指导您…”。当我在命令行上提供-VmyProductName=xxxx时,这一点不会改变,因此它似乎是在编译时设置的。有办法解决这个问题吗?谢谢。这适用于安装目录。是否有方法附加到版本或产品名称?您可以覆盖显示产品名称或版本的消息,但无法在运行时更改版本本身。好的,我们将停止尝试更改版本。:-)我们如何在运行时更改产品名称?我在上下文中没有看到中的设置程序。可以通过在“常规设置”>“应用程序信息”步骤的“全名”字段中使用安装程序变量来更改应用程序名,例如${installer:myProductName}
。然后,您可以在安装程序的“启动”节点中使用“设置变量”操作进行设置。此外,您应该在安装程序的“安装程序变量”选项卡上使用默认值预先配置此变量。嘿,越来越近了!现在唯一的问题是,当安装程序启动时,它会显示“${installer:myProductName}正在准备install4j向导,该向导将指导您…”。当我在命令行上提供-VmyProductName=xxxx时,这一点不会改变,因此它似乎是在编译时设置的。有办法解决这个问题吗?