Windows Directory在Server 2k3中没有正确报告?

我们有一个依赖.NET框架的应用程序,并在启动时检查框架是否已安装。 在我们的客户端机器上,这工作正常,但在运行Windows Server 2k3的服务器上,检查失败。 当我们查看环境variables时,它正确地显示了Windows目录是C:\ Windows,我们可以看到.NET已经正确安装了,但是从我们的应用程序调用Windows API( GetWindowsDirectory )会返回C:\ Programs and Settings \ [用户名] \ Windows无效,甚至不存在。 是否有什么关于服务器2k3会导致这种错误报告,或者我需要看看其他地方? 谢谢。

您最好从SystemRoot环境variables读取而不是使用Windows API调用。 尝试string WindowsDir = System.Environment.GetEnvironmentVariable ("SystemRoot"); 并看看你如何继续下去。

如果你从本地代码调用char *WindowsDir = getenv ("SystemRoot"); 是你想要的。