Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/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
抑制Linux安装程序的install4j中的GUI模式,同时允许Windows安装程序的GUI模式_Install4j - Fatal编程技术网

抑制Linux安装程序的install4j中的GUI模式,同时允许Windows安装程序的GUI模式

抑制Linux安装程序的install4j中的GUI模式,同时允许Windows安装程序的GUI模式,install4j,Install4j,我们正在使用install4j为我们的应用程序生成Windows和Linux安装程序。我们希望用户在Windows上安装时使用GUI模式,在Linux上安装时使用控制台模式 我知道,这是通过将-c参数传递给安装程序来实现的。但是我还想禁止Linux使用GUI模式。类似于安装程序设置中的“在Windows上禁用控制台模式”选项。是否有我没有看到的东西,使这种行为 如果没有禁止此操作的选项,我们将向安装程序添加一个操作,以便在安装程序从Linux启动且处于GUI模式时退出。从install4j 8.

我们正在使用install4j为我们的应用程序生成Windows和Linux安装程序。我们希望用户在Windows上安装时使用GUI模式,在Linux上安装时使用控制台模式

我知道,这是通过将-c参数传递给安装程序来实现的。但是我还想禁止Linux使用GUI模式。类似于安装程序设置中的“在Windows上禁用控制台模式”选项。是否有我没有看到的东西,使这种行为


如果没有禁止此操作的选项,我们将向安装程序添加一个操作,以便在安装程序从Linux启动且处于GUI模式时退出。

从install4j 8.0.8开始,无法禁止GUI模式,您确实需要在脚本中添加一个“运行脚本”操作

!(Util.isLinux() && context.isGui())
并将其“Failure strategy”属性设置为“失败时退出”,将其“Error message”属性设置为“GUI模式不允许”或类似的内容

安装程序上还有一个“默认执行模式”属性,您可以右键单击它,从上下文菜单中选择“切换到文本模式”,并将文本字段设置为

${compiler:executionMode}
然后,在“常规设置->编译器变量”中定义一个名为“executionMode”的编译器变量,其值为“GUI”。在Linux媒体文件的媒体向导中,转到“自定义项目默认值->编译器变量”步骤,并使用值“CONSOLE”覆盖“executionMode”编译器变量

这样,您的用户就不必在Linux上传递
-c
作为参数



更新:从8.0.8开始,install4j中有一个错误,它阻止替换此属性的编译器变量。它将在8.0.9中修复。

从install4j 8.0.8开始,没有办法禁止GUI模式,您确实需要在脚本中添加“运行脚本”操作

!(Util.isLinux() && context.isGui())
并将其“Failure strategy”属性设置为“失败时退出”,将其“Error message”属性设置为“GUI模式不允许”或类似的内容

安装程序上还有一个“默认执行模式”属性,您可以右键单击它,从上下文菜单中选择“切换到文本模式”,并将文本字段设置为

${compiler:executionMode}
然后,在“常规设置->编译器变量”中定义一个名为“executionMode”的编译器变量,其值为“GUI”。在Linux媒体文件的媒体向导中,转到“自定义项目默认值->编译器变量”步骤,并使用值“CONSOLE”覆盖“executionMode”编译器变量

这样,您的用户就不必在Linux上传递
-c
作为参数



更新:从8.0.8开始,install4j中有一个错误,它阻止替换此属性的编译器变量。它将在8.0.9中修复。

感谢Ingo,执行模式属性听起来很有希望。我们计划通知我们的客户使用-c。我尝试使用编译器变量设置执行模式。从字符串到com.install4j.runtime.beans.applications.ExecutionMode的转换似乎有问题。我们使用的是install4j的8.0.1版。这是异常:''java.lang.RuntimeException:替换值“${compiler:executionMode}”无法转换为结果类型com.install4j.runtime.beans.applications.executionMode at',此属性确实存在编译器变量替换错误。请联系support@ej-technologies.com获得修复的版本。谢谢。我们将等待8.0.9。感谢Ingo,执行模式属性听起来很有希望。我们计划通知我们的客户使用-c。我尝试使用编译器变量设置执行模式。从字符串到com.install4j.runtime.beans.applications.ExecutionMode的转换似乎有问题。我们使用的是install4j的8.0.1版。这是异常:''java.lang.RuntimeException:替换值“${compiler:executionMode}”无法转换为结果类型com.install4j.runtime.beans.applications.executionMode at',此属性确实存在编译器变量替换错误。请联系support@ej-technologies.com获得修复的版本。谢谢。我们将等待8.0.9。