Install4j 仅安装到空目录

Install4j 仅安装到空目录,install4j,Install4j,我注意到,当安装程序启动时,它会检测到以前的安装,并提示我是否要更新它。是否仍有禁用此行为的方法 我有一个应用程序,总是需要安装到一个干净的空目录。install4j中是否有用于执行此操作的控件? 谢谢 要删除更新警报,请在安装程序->屏幕和操作步骤中找到“欢迎”屏幕,然后取消选择“更新安装警报”属性 要防止安装程序建议以前的安装目录,请在安装程序->更新选项步骤中取消选择“检测以前的安装目录” 为了防止安装在现有安装之上(即不可能进行更新),请将“安装位置”屏幕的“验证表达式”属性设置为 Fi

我注意到,当安装程序启动时,它会检测到以前的安装,并提示我是否要更新它。是否仍有禁用此行为的方法

我有一个应用程序,总是需要安装到一个干净的空目录。install4j中是否有用于执行此操作的控件?
谢谢

要删除更新警报,请在安装程序->屏幕和操作步骤中找到“欢迎”屏幕,然后取消选择“更新安装警报”属性

要防止安装程序建议以前的安装目录,请在安装程序->更新选项步骤中取消选择“检测以前的安装目录”

为了防止安装在现有安装之上(即不可能进行更新),请将“安装位置”屏幕的“验证表达式”属性设置为

File dir = context.getInstallationDirectory();
if (ApplicationRegistry.getApplicationInfoByDir(dir) != null) {
    Util.showWarningMessage(
        "The selected directory already contains an installation, "+
        "please choose another directory."
    );
    return false;
} else {
    return true;
}

我刚刚尝试对Linux安装程序执行此操作,但getInstallationDirectory()似乎没有指向正确的路径。如果用户修改安装路径,它将始终指向默认安装程序。这意味着,如果用户首先在自定义路径中安装产品,然后尝试在该路径中重新安装,则不会显示警告,所有内容都将被覆盖。可能会取消选择安装程序->更新选项步骤中的“检测以前的安装目录”。是的,取消选择(如上面的回答所示);我已经看到它可以在选中的情况下工作,但这意味着如果用户有两个安装,然后在第一个安装上进行第三个安装,它将覆盖它,因为getInstallationDirectory指向第二个重新安装。我要问的是,是否可以使用用户在GUI中选择的内容更新InstallationDirectory变量,而无需将验证移动到单独的页面。