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

Install4j - advance form component's customization won't apply while on upgrade

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

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

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

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

不好,因为在使用 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"));

基本上我明白为什么它在升级时不起作用 - 因为它通过选择触发器起作用,安装程序默认不会应用它。

有没有办法在升级时也应用此逻辑?

您必须在 "User name" 和 "Password" 表单组件的 "Visibility script" 属性中执行相同的逻辑。您那里没有 "selectedItem" 参数,但是您可以查询绑定到 "Authentication" 表单组件的变量,即 context.getVariable("variableName").