Я пару раз замечал, что похоже, что я не могу использовать NTFS-переходы в% SystemRoot%, поместить следующий путь к файлу в моем PATH и заставить его работать для поиска DLL.

Например, если я поместил там каталог "bin" в качестве соединения и поместил его в свой% PATH%, то я могу запустить там исполняемые файлы, просто введя имя исполняемого файла в командной строке (без пути), но они немедленно выдают диалоговое окно, в котором не удается найти библиотеки DLL, которые использует исполняемый файл из того же каталога.

Если я вместо этого помещу путь к каталогу bin вендора непосредственно в% PATH%, он будет работать нормально.

Что именно здесь происходит? Есть ли для этого веская причина или это просто ошибка?

1 ответ1

1

Вы забываете перенаправитель файловой системы.

Если программа, которую вы запускаете, является 32-битной, то c:\windows\system32 автоматически перенаправляет на c:\windows\SysWOW64 .

Вы не поместили папку bin в syswow64, и поэтому она не существует.

Не ошибка вообще. Просто стандартное поведение Windows, о котором вы должны знать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .