Каталог 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"); это то, что вы хотите.

Другие вопросы по тегам