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")
.
在我们的安装程序中,我们有多个表单组件,我们在其中隐藏了一些内部选项,以防用户选择特定选项。
例如:在此屏幕中 - 这是默认显示的选项。
如果用户选择与默认 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")
.