Назад | Перейти на главную страницу

Каталог Windows не сообщает правильно на сервере 2k3?

У нас есть приложение, которое зависит от платформы .NET и при запуске проверяет, установлена ​​ли платформа. На наших клиентских машинах это работает нормально, но на наших серверах под управлением Windows Server 2k3 проверка не выполняется. Когда мы смотрим на переменные среды, они правильно показывают, что каталог Windows - это C: \ Windows, и мы видим, что .NET правильно установлен там, но вызов Windows API (GetWindowsDirectory) из нашего приложения возвращает C: \ Programs and Settings \ [User Name] \ Windows, который недействителен и даже не существует. Есть ли в сервере 2k3 что-то, что могло бы вызвать такого рода неверные отчеты, или мне нужно искать в другом месте? Спасибо.

Лучше читать из переменной среды SystemRoot, чем использовать вызов Windows API. Пытаться string WindowsDir = System.Environment.GetEnvironmentVariable ("SystemRoot"); и посмотрите, как вы с этим справитесь.

Если вы звоните из нативного кода char *WindowsDir = getenv ("SystemRoot"); это то, что вы хотите.