Install4j - 高级表单组件的自定义在升级时不适用

时间:2018-05-10 08:03:33

标签: install4j

在我们的安装程序中,我们有多个表单组件,我们在其中隐藏一些内部选项,以防用户选择特定选项。

例如:在此屏幕中 - 这是默认显示的选项。

enter image description here

如果用户选择与默认 SQL Server身份验证(Windows身份验证)不同的身份验证,则安装程序会隐藏用户名& 密码字段。

升级时出现问题。如果用户先前选择 Windows身份验证选项 - 显示的屏幕将如下所示:

enter image description here

不好,因为在连接 Windows身份验证时,用户输入用户名& 密码不应该出现。 身份验证输入定义为 Combo-Box &拥有选择更改脚本属性,如下所示:

if (selectedItem.equals("Windows Authentication")) {
    ((JTextField)formEnvironment.getFormComponentById("1418").getConfigurationObject()).setText("");
}

formEnvironment.getFormComponentById("1418").setVisible(!selectedItem.equals("Windows Authentication"));
formEnvironment.getFormComponentById("1677").setVisible(!selectedItem.equals("Windows Authentication"));

基本上我理解为什么它不会在升级上工作 - 因为它按选择触发器工作,默认情况下安装程序不会应用它。

在升级时是否有任何方法应用此逻辑?

1 个答案:

答案 0 :(得分:2)

您必须在“用户名”和“密码”表单组件的“可见性脚本”属性中执行相同的逻辑。您没有“selectedItem”参数,但可以查询绑定到“身份验证”表单组件的变量,即context.getVariable("variableName")