我使用install4j创建了一组安装程序,并希望快速检查安装程序可执行文件的版本信息
传统上,这将涉及调用类似installer-name.sh --version
理想情况下,这可以在不需要解压缩捆绑的JRE的情况下工作,但我注意到即使安装4个安装程序的-h
帮助解压缩JRE,所以我假设这不是一个选项......
我想知道的是:
-h
这样的选项,它们执行一项任务(如打印版本信息),然后正常退出context.getExtraCommandLineArguments()
自己解析此选项,是否有办法在某个操作运行后成功退出安装,而无需强制“退出失败”。
--version
,然后我的其余部分安装在一个条件组中。==============
要清楚我的意思是最后一点是我想要一个解决方案(将install4j安装操作框架化为Java函数):
if(versionRequested){
printVersion();
return;
}
//all the rest of my installation actions
而不是:
if(versionRequested){
printVersion();
}
else{
//all the rest of my installation actions
}
答案 0 :(得分:1)
在安装程序的“启动”节点中,使用脚本
添加“运行脚本”操作if (Arrays.asList(context.getExtraCommandLineArguments()).contains("--version")) {
System.out.println("Version " + context.getCompilerVariable("sys.version"));
context.finish(0);
}
return true;
在Windows上,System.out.println
将无法打印到控制台,因为安装程序是GUI应用程序,因此您必须调用
Util.showMessage("Version " + context.getCompilerVariable("sys.version"));
在控制台模式下也能正常运行。