在默认的“Program Files”目录之外安装程序是否明智?

在默认的“Program Files”目录之外安装程序是否明智?

例如,如果我将应用程序拆分为游戏目录到 C:\Games\、开发目录到 C:\Dev 等等,这样明智吗?

我知道这是可以做到的,而且是一种相当常见的做法,但我想知道的是,考虑到安全性和兼容性,这仍然是一种好的做法吗?例如,默认的“Program Files”文件夹具有一组不同的权限,因此当 UAC 运行时,程序需要管理员权限才能写入目录。至于兼容性,编写不当的程序中硬编码的安装/查找路径无法正常工作的情况有多普遍?

另外,如果我将 32 位和 64 位应用程序放在一起,而不是像 Windows 那样将它们分开并设置两个不同的安装路径,结果会怎样?我是否会导致程序查找和加载错误的 dll 出现问题?

答案1

Windows 从可执行文件中检测 32/64 位,因此可以在任何地方安装 32 位二进制文​​件。

设置两个 Program Files 目录的原因主要是为了消除同一程序同时存在 32 位和 64 位安装的风险,以及它们的安装文件产生冲突和/或性能问题。

如果您的情况不存在这种风险,您可以将任何产品安装到任何目录中,只要其安装程序有这样的选项。

它是否能工作是​​另一个取决于安装程序的问题。通常它工作得很好,尽管有时会遇到目录无法更改的产品。但这种情况已经变得相当罕见,不应该真正考虑。但我不会更改任何庞然大物的安装目录,例如 Microsoft Office,因为有太多地方可能出错。

另一个问题是,很难在此目录之外复制 Program Files 的权限设置。但是,如果您有一款出色的反入侵产品,这应该不是问题。

但总而言之,我的建议是始终遵循系统惯例,不要冒险太多,因为有些产品可能会假定你这样做。

答案2

这并不是“不明智的”,Program Files 目录用于防止混乱,并轻松找到程序可执行文件。

但是,将游戏安装到 C:\Games 是完全有效的,我也做过类似的事情。没什么问题。

相关内容