Posso obter um exe com link simbólico no Windows para “ver” suas dependências na mesma pasta?

1

Digamos, por exemplo, que eu use wget no Windows. Se eu extrair o arquivo zip, ele terá muitas dependências (dlls etc.) Agora, se eu fosse link simbólico de wget.exe (usando mklink ) para minha área de trabalho (tentei com links simbólicos e hard links), ele ainda não funciona sem as dlls necessárias sendo colocadas na área de trabalho também / sendo linkado para o desktop também. Existe uma maneira de executá-lo a partir da área de trabalho, mas "ver" as dependências de volta em sua própria pasta?

Observe que, se eu criasse um atalho para wget.exe na minha área de trabalho, eu poderia trazê-lo facilmente do Prompt de Comando com a Área de Trabalho como o local, e ele funciona como esperado, mas tenho que executar wget.exe.lnk . Posso obter um link simbólico para se comportar assim (sem o .lnk , claro)?

Obrigado!

    
por ajeetdsouza 20.09.2015 / 10:08

1 resposta

1

Resposta curta: Não.

Para o registro, isso nem funciona no Linux / Unix, onde os links simbólicos são a norma. Em qualquer ambiente de linha de comando, se um binário tiver dependências, elas devem estar no diretório de trabalho atual ou em um dos diretórios da variável PATH.

No seu caso, você poderia hardlink o diretório em sua área de trabalho, mas você ainda teria que CD para ele a partir da linha de comando antes de você executou o wget.exe.

A única alternativa seria recompilar o wget.exe e vinculá-lo estaticamente aos arquivos .dll requeridos (já que é de código aberto). Dessa forma, você não precisaria desses arquivos .dlls e wget.exe seria um executável autônomo. As etapas para fazer isso no Windows, no entanto, estão um pouco além do escopo do Superusuário.

    
por 28.09.2015 / 20:39