Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对于使用Install4j构建的安装程序,如何在安装程序执行时向版本附加值?_Java_Installation_Install4j - Fatal编程技术网

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

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

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

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

在安装程序运行时,是否有方法将某些内容附加到版本中?到目前为止,我还不能让安装人员这样做。我试过运行一个脚本来设置“sys.version”变量,在version字段中添加${tier}变量,以及其他一些东西,但在安装程序运行时无法更改版本。也许这是不可能的


有什么想法吗?

要在运行时将字符串附加到安装目录,请在安装程序的“启动”节点中添加“运行脚本”操作,然后调用

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时,这一点不会改变,因此它似乎是在编译时设置的。有办法解决这个问题吗?