在Install4j中安装过程之前,我可以在构建时设置一个变量吗?

在Install4j中安装过程之前,我可以在构建时设置一个变量吗?,install4j,Install4j,对于每个安装,我想在欢迎屏幕上介绍当前版本。为此,我创建了一个“读取属性文件”操作,用于读取分发树下的应用程序manifest.properties。一步之后,我有一个“运行脚本”操作,它提取版本所需的属性,并将其设置为安装程序变量 我的问题是,当尝试在干净的计算机上安装安装程序时,它会抛出一个错误,因为它既没有分发树,也没有manifest.properties 在安装过程开始之前,是否有任何优雅的方法来设置变量,例如在构建时 在“常规设置->应用程序信息”步骤中配置应用程序的版本。您可以使用

对于每个安装,我想在欢迎屏幕上介绍当前版本。为此,我创建了一个“读取属性文件”操作,用于读取分发树下的应用程序manifest.properties。一步之后,我有一个“运行脚本”操作,它提取版本所需的属性,并将其设置为安装程序变量

我的问题是,当尝试在干净的计算机上安装安装程序时,它会抛出一个错误,因为它既没有分发树,也没有manifest.properties


在安装过程开始之前,是否有任何优雅的方法来设置变量,例如在构建时

在“常规设置->应用程序信息”步骤中配置应用程序的版本。您可以使用以下语法在所有文本属性中使用它:

${compiler:sys.version}

这很好,但不完全是我需要的。我不想在“应用程序信息”中配置和维护应用程序版本管理,因此我的应用程序上有“manifest.properties”文件。有没有其他类似的解决方案可以使用我上面提到的类似解决方案?您可以从构建工具外部设置版本,请参阅命令行编译器的
--release
标志,ant,gradle和maven集成具有类似的属性。我了解它是如何工作的,但不确定具体是如何工作的,因为如果我从命令行运行安装程序(在我的例子中是jenkins),那么它就不会通过thr GUI运行。应用程序版本显示在欢迎屏幕上,因此如果我使用-r STRING或--release=STRING,它是如何工作的?将命令行上的
-release=STRING
传递到
bin/install4jc
会将您在GUI中输入的值替换为
STRING
。因此,您可以在GUI中输入一些占位符,如1.0,并在命令行上传递实际值。谢谢,这很有效。现在我将应用程序版本保存到一个变量中,它可以工作:C:\Progra~1\install4j6\bin\install4jc.exe-r%app\u version%Why当我试图将字符串连接到它时-例如:C:\Progra~1\install4j6\bin\install4jc.exe-r Beta%app\u version%-我得到错误:install4j:参数太多?