我注意到有几次我似乎无法使用 %SystemRoot% 下的 NTFS 连接,请将随后的文件路径放在我的 PATH 中,并使其用于 DLL 查找。
例如,如果我将供应商的“bin”目录放在那里作为连接点,并将其放在我的 %PATH% 中,那么我只需在命令行上输入可执行文件的名称(不带路径)就可以在那里运行可执行文件,但它们会立即弹出一个对话框,提示无法找到可执行文件从同一目录使用的 DLL。
如果我将供应商的“bin”目录路径直接放入 %PATH% ,它们就可以正常运行。
这到底是怎么回事?这有什么原因吗?还是只是一个 bug?
答案1
你忘记了文件系统重定向器。
如果您运行的程序是 32 位,则会c:\windows\system32
静默重定向到c:\windows\SysWOW64
。
您没有将 bin 文件夹放在 syswow64 下,因此它不存在。
根本不是错误。只是您应该注意的标准 Windows 行为。