Usando junções no PATH

0

Tenho notado algumas vezes que parece que não posso usar junções NTFS em% SystemRoot%, colocar o caminho de arquivo resultante em meu PATH e fazê-lo funcionar para a pesquisa de DLL.

Por exemplo, se eu colocar o diretório "bin" de um fornecedor aqui como uma junção e colocá-lo em% PATH%, posso executar executáveis lá apenas digitando o nome do executável na linha de comando (sem o caminho ), mas eles imediatamente lançam uma caixa de diálogo que as DLLs que o executável usa desse mesmo diretório não podem ser encontradas.

Se eu colocar o caminho do diretório "bin" do fornecedor diretamente no% PATH%, eles serão executados corretamente.

O que exatamente está acontecendo aqui? Existe uma boa razão para isso, ou é apenas um bug?

    
por T.E.D. 29.12.2017 / 03:18

1 resposta

1

Você está esquecendo o Redirecionador do sistema de arquivos .

Se o programa que você está executando for de 32 bits, o c:\windows\system32 silenciosamente redirecionará para c:\windows\SysWOW64 .

Você não colocou a pasta bin sob syswow64 e ela não existe.

Não é um bug. Apenas o comportamento padrão do Windows, você deve estar ciente.

    
por 29.12.2017 / 07:09