Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试在server 2003上获取ProgramFilesX86时获取当前文件夹路径_C#_.net_Windows_Windows Server 2003_Windows Server - Fatal编程技术网

C# 尝试在server 2003上获取ProgramFilesX86时获取当前文件夹路径

C# 尝试在server 2003上获取ProgramFilesX86时获取当前文件夹路径,c#,.net,windows,windows-server-2003,windows-server,C#,.net,Windows,Windows Server 2003,Windows Server,当我试图从windows server 2003 SP2 Enterprise Edition KN x86调用此方法时: Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) 我获取的是当前目录而不是程序文件目录,例如,我的应用程序安装在以下位置: C:\Program Files\Company\ApplocationName\SomeApp.exe 打电话时: string x = Environment

当我试图从windows server 2003 SP2 Enterprise Edition KN x86调用此方法时:

Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)
我获取的是当前目录而不是程序文件目录,例如,我的应用程序安装在以下位置: C:\Program Files\Company\ApplocationName\SomeApp.exe

打电话时:

string x = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86);
x值将为:C:\Program Files\Company\ApplocationName

这是一个已知的问题吗?对此有什么想法吗?

抄袭自

在x86系统上,将ProgramFilesX86成员传递给Environment.GetFolderPath方法将返回String.Empty;请改用ProgramFiles成员。您可以通过调用Environment.Is64BitOperatingSystem属性来确定Windows是否为32位操作系统

所以你应该使用

string x = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
抄袭

在x86系统上,将ProgramFilesX86成员传递给Environment.GetFolderPath方法将返回String.Empty;请改用ProgramFiles成员。您可以通过调用Environment.Is64BitOperatingSystem属性来确定Windows是否为32位操作系统

所以你应该使用

string x = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
抄袭

在x86系统上,将ProgramFilesX86成员传递给Environment.GetFolderPath方法将返回String.Empty;请改用ProgramFiles成员。您可以通过调用Environment.Is64BitOperatingSystem属性来确定Windows是否为32位操作系统

所以你应该使用

string x = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
抄袭

在x86系统上,将ProgramFilesX86成员传递给Environment.GetFolderPath方法将返回String.Empty;请改用ProgramFiles成员。您可以通过调用Environment.Is64BitOperatingSystem属性来确定Windows是否为32位操作系统

所以你应该使用

string x = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);

我不确定我是否理解您的问题,您说的是“例如,我的应用程序安装在以下位置:C:\Program Files\Company\ApplocationName\SomeApp.exe”,您得到的是“C:\Program Files\Company\ApplocationName”那么问题是什么呢?您在
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir(x86)
中有什么?我不确定我是否理解您的问题,您说的是“例如,我的应用程序安装在以下位置:C:\Program Files\Company\ApplocationName\SomeApp.exe”,您得到的是“C:\Program Files\Company\ApplocationName”那么问题出在哪里?您在HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir(x86)中有什么内容?我不确定是否理解您的问题,您说的是“例如,我的应用程序安装在以下位置:C:\Program Files\Company\ApplocationName\SomeApp.exe,而您得到的是“C:\Program Files\Company\ApplocationName”,那么问题出在哪里?您在
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir(x86)中有什么内容
?我不确定我是否理解您的问题,您说的是“例如,我的应用程序安装在以下位置:C:\Program Files\Company\ApplocationName\SomeApp.exe”,而您得到的是“C:\Program Files\Company\ApplocationName”“那么问题出在哪里呢?HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir(x86)?这里是MSDN文章链接:这里是MSDN文章链接:这里是MSDN文章链接: