install4j索引向导使用编译变量作为键无法生效问题咨询
问题根因
install4j 6.1.x版本中,Index Wizard的步骤Key、Initial key、Step key字段默认仅做运行时字符串匹配,不会自动解析字段中直接填写的${compiler:xxx}格式编译变量,只有步骤显示名称(Value)字段支持编译变量的直接解析替换。你两边都直接填写编译变量时,运行时匹配的是变量名字符串而非实际取值,因此步骤无法激活。
可行解决方案
方案1:通过脚本返回编译变量值(最简便)
不要在Initial key、Step key的输入框中直接填写编译变量,点击输入框旁的「脚本」按钮,填入如下单行脚本即可:
return "${compiler:你定义的步骤Key编译变量名}";
编译期这段脚本里的编译变量会被自动替换为实际取值,运行时返回的就是正确的Key字符串,可正常和步骤定义里的Key匹配。
方案2:构建前预处理项目文件
如果需要批量修改大量步骤Key,可编写脚本直接处理install4j的.i4j项目配置文件,在构建前把所有步骤Key、Initial key、Step key字段的编译变量占位符替换为实际取值,再执行构建即可。
方案3:升级install4j版本
7.0及以上版本的install4j已官方支持在Index Wizard的所有Key字段直接解析编译变量,无需额外修改配置即可直接使用。
内容的提问来源于stack exchange,提问作者LOUIS Bryan
相关产品推荐
相关产品推荐

