Страницы

Поиск по вопросам

суббота, 11 января 2020 г.

Программа не видит путь к файлу C:\Windows\ System32\nslookup.exe

#c_sharp #windows #файлы #path


Программа не видит путь к файлу C:\Windows\System32\nslookup.exe
Проверка естественно всегда выдает "Путь не найден". То же самое происходит и например
с путем к фалу notepad.exe в этой же папке, но при этом если обратиться к файлу C:\Windows\twin_32.dll
то программа его находит.
Подскажите куда копать? Нужно назначить текущего пользователя владельцем папки System32?

if (File.Exists(@"C:\Windows\System32\nslookup.exe"))
{
Console.WriteLine("Путь найден");
}
else Console.WriteLine("Путь не найден");

    


Ответы

Ответ 1



Дело в File System Redirector'е (https://msdn.microsoft.com/en-us/library/windows/desktop/aa384187(v=vs.85).aspx) Если кратко, %windir%\System32 - для 64-битных приложений. 32-битные приложения система перенаправляет в %windir%\SysWOW64 где вашего файла вполне может и не быть.

Ответ 2



Используйте путь из переменных окружения if (File.Exists(Path.Combine(Environment.SystemDirectory, "nslookup.exe"))) { Console.WriteLine("Путь найден"); } else Console.WriteLine("Путь не найден");

Комментариев нет:

Отправить комментарий