无论目标机器的架构如何,如何获取程序文件的路径

我在C#/ .NET中编程。 无论目标机器的架构是什么,我希望能够从目标机器返回Program Files目录。 为了澄清,我希望它返回C (or whatever drive the OS is on):/Program Files无论它们的Windows版本有多大。

我只能在目录中进行硬编码,除非用户正在运行未安装在C:驱动器上的Windows,否则它将无法工作。

我发现

 FileInfo(System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles) 

但我认为它返回64位Windows机器上的Program Files (x86)文件夹。

System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles)在64位计算机上返回"c:\Program Files" ,除非代码构建为目标x86,在这种情况下它返回"C:\Program Files (x86)" ,所以我想这对你有用。