我知道在 64 位 Windows 上,32 位应用程序C:\Program Files (x86)
默认进入,64 位进入C:\Program Files
.
但是,如果您有一个更复杂的安装包,其中包括一个客户端组件(32 位)和一个服务器组件(64 位),可能还有一些帮助工具(32 位)。在这种情况下,默认安装路径应该是什么?
根据一些文章,微软和一些安装框架不鼓励混合位数:
- 单个 MSI 安装正确的 32 或 64 位 c# 应用程序
- http://jpassing.com/2009/10/09/mixing-32-and-64-bit-components-in-a-single-msi
我不明白为什么混合这些应该是一个很大的禁忌,考虑到 x64 平台运行 x86 应用程序的性能如何,甚至对于相同的二进制文件可以在两种模式下运行的托管代码更是如此。就我而言,75% 的随附库在客户端和服务器之间共享并且完全相同,因此将它们拆分是没有意义的。
那么鉴于此,对于这种 32 位和 64 位应用程序的混合,哪个是首选安装位置?C:\Program Files (x86)
还是C:\Program Files
?正如我所看到的,64 位位置是可取的。我将 Program Files (x86) 目录视为旧应用程序的遗留沙箱,这些旧应用程序从未考虑过为 64 位应用程序设计。在混合 32/64 位应用程序的情况下,存在 64 位感知,因此不应有遗留原因将 32 位文件与 64 位文件分开沙箱。对我来说,没有“(x86)”的路径在视觉上也更具吸引力,表明它是一个现代应用程序——适用于 64 位操作(在必要时)。
当作为一个应用程序安装在同一个安装程序包中时,是否有人知道支持或反对将 32/64 位混合可执行文件放入 64 位目录的其他原因?