如何在Install4j中使用常量目录名设置默认安装目录?

时间:2017-11-08 13:26:41

标签: java install4j

我们正在使用Intall4j(6.1.6),当用户尝试安装我们产品的组件而不是在目录中时,我们在卸载阶段遇到问题。 当这种情况发生时(例如,用户在C:\Program Files上安装了产品而不是在C:\Program Files\MyApp等自定义目录中) - 卸载阶段也将尝试删除程序文件。这是因为我们添加了一个配置以确保所有组件都被正确删除(还包括一些临时文件和父目录)。

我们的安装在Windows和Windows上运行Linux和每个环境都有自己的默认安装目录。我想要的是能够设置(更好地说 - '强制')一个常量目录到每个默认安装目录(用户在安装时无法更改 - 例如 - 无论你在哪里安装它,它总是在里面' MyApp'目录),所以如果任何人安装不在目录中的产品,卸载阶段将不会删除父目录。

1 个答案:

答案 0 :(得分:0)

首先,即使用户直接安装到C:\Program Files\,卸载程序也不会删除该目录中的所有文件 - 只删除安装程序创建的文件。

为强制使用特定目录结构,请使用"验证脚本" "安装位置"屏幕,例如:

if (file.equals(WinFileSystem.getProgramFilesDirectory())) {
    Util.showWarningMessage(
      "This directory is not allowed as an installation directory");
    return false;
} else {
    return true;
}