Install4j-预付款表单组件&x27;s定制赢得';升级时无法应用

Install4j-预付款表单组件&x27;s定制赢得';升级时无法应用,install4j,Install4j,在我们的安装程序中,我们有多个表单组件,其中隐藏了一些内部选项,以防用户选择特定选项 例如:在此屏幕中-这是默认显示的选项 如果用户选择与默认SQL Server身份验证(Windows身份验证)不同的身份验证,则安装程序将隐藏用户名和密码字段 问题发生在升级时。如果用户先前选择Windows身份验证选项,则显示的屏幕如下所示: if (selectedItem.equals("Windows Authentication")) { ((JTextField)formEnvironme

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

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

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

问题发生在升级时。如果用户先前选择Windows身份验证选项,则显示的屏幕如下所示:

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"));

这不好,因为在连接Windows身份验证时,不应显示用户输入的用户名和密码。 身份验证输入定义为组合框&具有如下选择更改脚本属性:

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"));
基本上我理解为什么它在升级时不起作用-因为它是通过选择触发器工作的,所以默认情况下安装程序不会应用它


升级时是否也可以应用此逻辑?

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