【发布时间】:2010-09-16 16:30:09
【问题描述】:
我正在使用:
FileInfo(
System.Environment.GetFolderPath(
System.Environment.SpecialFolder.ProgramFiles)
+ @"\MyInstalledApp"
为了确定是否在用户机器上检测到程序(这并不理想,但我正在寻找的程序是 MS-DOS 应用程序的正确旧组合,我想不出另一种方法)。
在 Windows XP 和 32 位版本的 Windows Vista 上,这可以正常工作。但是,在 x64 Windows Vista 上,代码返回 x64 Program Files 文件夹,而应用程序安装在 Program Files x86 中。有没有办法以编程方式返回 Program Files x86 的路径而无需硬连线“C:\Program Files (x86)”?
【问题讨论】:
-
值得注意的是,这仅在 64 位操作系统上的 64 位应用程序中返回“程序文件”。如果您将应用程序专门编译为 x86,那么它将使用此代码在 64 位操作系统上返回“程序文件 (x86)”。