2013-06-19 60 views
1

我注意到当安装程序启动时它检测到以前的安装并提示我是否需要更新它。无论如何禁止这种行为?只能安装到一个空目录

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

回答

2

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

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

为了防止对现有的安装(即没有更新将是可能的)的顶部安装,“安装位置”屏幕上的“验证表达式”属性设置为

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; 
} 
+0

我只是尝试这样做了Linux安装程序,它看起来像getInstallationDirectory()没有指向正确的路径,如果用户修改安装路径,它总是指向安装程序的默认值。 这意味着如果用户首先在自定义路径中安装产品,然后尝试在该路径中重新安装,则不会显示任何警告,并且所有内容都将被覆盖。 –

+0

可能会取消选择安装程序 - >更新选项步骤中的“检测以前的安装目录”。 –

+0

是的,它被取消选择(正如上面的答案中所述);我已经看到它可以与它一起使用,但是这意味着如果用户有两次安装,然后在第一次安装后执行第三次安装,它将覆盖它,因为getInstallationDirectory指向第二次重新安装。我问的是,如果可以更新InstallationDirectory变量和用户在GUI中选择的内容,而无需将验证移动到单独的页面。 –