Каталог Windows не сообщает правильно на сервере 2k3?
У нас есть приложение, которое зависит от.NET Framework и выполняет проверку при запуске, чтобы увидеть, установлена ли платформа. На наших клиентских машинах это работает нормально, но на наших серверах под управлением Windows Server 2k3 проверка не проходит. Когда мы смотрим на переменные среды, это правильно показывает, что каталог Windows - это C:\Windows, и мы видим, что там правильно установлен.NET, но вызов API Windows ( GetWindowsDirectory) из нашего приложения возвращает C:\Programs and Settings\[Имя пользователя]\Windows, которая недействительна и даже не существует. Есть ли что-то в Server 2k3, которое может привести к неправильной отчетности, или мне нужно искать в другом месте? Благодарю.
1 ответ
Вам лучше читать из переменной среды SystemRoot, а не с помощью вызова Windows API. Пытаться string WindowsDir = System.Environment.GetEnvironmentVariable ("SystemRoot");
и посмотрим, как ты справишься с этим.
Если вы звоните из нативного кода char *WindowsDir = getenv ("SystemRoot");
это то, что вы хотите.