C# ProgramFilesX86 SpecialFolder在Windows XP等系统上做什么?
因为我在上找不到任何明确说明:C# ProgramFilesX86 SpecialFolder在Windows XP等系统上做什么?,c#,.net,special-folders,C#,.net,Special Folders,因为我在上找不到任何明确说明:ProgramFilesX86enum值在32位系统上返回什么 开发环境 请注意:在我的组织中,每当我想测试东西时,我不能只让机器站起来。这就是我问社区的原因。我甚至无法访问32位ISO来构建虚拟机——所以请理解,我在这个组织中有一些限制 Windows 7 64位 生产环境 在生产中,我不知道他们是运行32位还是64位系统,这很可能是一种混合。但是我知道操作系统的列表 视窗7 Windows Vista 视窗XP 客观的 获取正确的程序文件目录,以便动态
ProgramFilesX86
enum值在32位系统上返回什么
开发环境 请注意:在我的组织中,每当我想测试东西时,我不能只让机器站起来。这就是我问社区的原因。我甚至无法访问32位ISO来构建虚拟机——所以请理解,我在这个组织中有一些限制
- Windows 7 64位
- 视窗7
- Windows Vista
- 视窗XP
程序文件
目录中程序文件(x86)
文件夹,但在32位系统上它将使用标准程序文件
目录谢谢大家 它返回“程序文件”。由于您正在使用MSI安装,您可能会考虑使用安装程序API(MSILCOCATCOMPONMENT等)来定位您的程序,而不是假定它在预期位置。 < P>在我的7个32位系统>代码>程序文件x86< /Calp>返回<代码> C:\程序文件< /代码>(没有尾随斜杠)。 的“备注”部分包含一个方便的表格,提供您所需的信息(从非托管的角度)。在这里复制它很难:
OS App KNOWNFOLDERID Default CSIDL
32 bit 32 bit FOLDERID_ProgramFilesX86 %SystemDrive%\Program Files CSIDL_PROGRAM_FILESX86
64 bit 64 bit FOLDERID_ProgramFilesX86 %SystemDrive%\Program Files (x86) CSIDL_PROGRAM_FILESX86
64 bit 32 bit FOLDERID_ProgramFilesX86 %SystemDrive%\Program Files (x86) CSIDL_PROGRAM_FILESX86
32位XP:空字符串:(
32位Vista:“C:\Program Files”
32位Win7:未测试,可能与Vista相同
64位Win7:“C:\Program Files(x86)”
我对64位XP不太清楚,我自己也很好奇。@BaliC,我在公司里没有访问32位系统的权限——我工作的地方不是这样的——我不能只安装机器——所以我希望社区能帮助我。很简单。抱歉,我刚刚意识到并删除了我的评论,我在一个相关的网站上找到了你的答案问题,检查评论“我不容易访问我的组织内部的32位系统——我工作的地方不是这样”——你的公司是讨厌开发人员,还是只是不想让他们有效率?@CodeCaster,我听你说得很清楚,兄弟!这应该是公认的答案。特别是32位XP部分。
OS App KNOWNFOLDERID Default CSIDL
32 bit 32 bit FOLDERID_ProgramFilesX86 %SystemDrive%\Program Files CSIDL_PROGRAM_FILESX86
64 bit 64 bit FOLDERID_ProgramFilesX86 %SystemDrive%\Program Files (x86) CSIDL_PROGRAM_FILESX86
64 bit 32 bit FOLDERID_ProgramFilesX86 %SystemDrive%\Program Files (x86) CSIDL_PROGRAM_FILESX86