install4J-组合框组件配置条件



我们使用的是安装程序6.1.6。今天,我们支持SQL Server身份验证,我希望添加 Windows身份验证模式的新功能

我们的数据库配置将其设置为配置表单,我想添加一个新的组合框表单组件,其中将包括2个服务器身份验证选项。

  1. 是否可以仅适用于Windows OS的Combo-Box的 Windows Authentication 选项?(为Linux用户显示它是没有意义的(

  2. 某些形式组件是"用户名" &"密码" 。如果用户选择 Windows身份验证模式这些字段不再重要。在这种情况下,是否可以隐藏它们?

  3. 以相当模式运行安装程序时,组合框选项是否可能导致冲突?它是否将第一个选项设置为默认值?

是否可以定义组合框的Windows身份验证选项 仅适用于Windows OS的条件表达式?(这没有 为Linux用户显示它的感觉(

您可以将"下拉列表"的"下拉列表条目"属性设置为包含字符串数组的安装程序变量:

${installer:authenticationOptions}

在表单的前激活脚本中,您可以使用以下代码设置变量:

List<String> options = new ArrayList<>();
options.add("One");
options.add("Two");
if (Util.isWindows()) {
    options.add("Three");
}
context.setVariable("authenticationOptions", options.toArray(new String[0]));

某些形式组件是"用户名"&amp;"密码"。如果是 用户选择Windows身份验证模式这些字段不是 相关了。在这种情况下可以隐藏它们吗?

是,通过使用这样的代码禁用"选择更改脚本"属性中的组件:

// to disable
formEnvironment.getFormComponentById("123").setEnabled(!selectedItem.equals("Windows authentication"));
// or to hide
formEnvironment.getFormComponentById("123").setVisible(!selectedItem.equals("Windows authentication"));

是组合框选项可能会导致运行安装程序时发生冲突 具有相当大的模式?

默认情况下,选择了第一个索引。这是可与"下拉列表"表单组件的"最初选择的索引"属性配置的。

替代解决方案:

我将考虑为您的身份验证选项使用"单个无线电按钮"组件。它们都绑定到相同的变量名称,以形成组并具有与下拉列表相同的效果。使用"可见性脚本"属性,您可以根据OS隐藏一些选项,例如使用

Util.isWindows()

和选项仅在Windows上可见。使用配置区域中的"耦合表单组件"选项卡,您可以根据选择选择其他表单组件或启用的其他表单组件。

最新更新