Executando link simbólico para exe - “O caminho especificado não existe”

18

Ao tentar executar um link simbólico que aponta para um arquivo exe (no Windows 7), a janela "Abrir com" é exibida. Ao renomeá-lo para um arquivo ".exe", ele diz "O caminho especificado não existe. Verifique o caminho e tente novamente." Os links simbólicos para outros destinos parecem funcionar bem.

Então, existe alguma maneira de executar um link simbólico?

EDITAR: No prompt de comando, executo o seguinte e o MyProgram.exe é executado nas duas vezes. No entanto, se eu clicar duas vezes no link simbólico no Windows Explorer, ele falhará com a mensagem de erro acima.

C:\Temp>mklink SomeProgram.exe MyProgram.exe
symbolic link created for Backup.exe <<===>> Backup-1.0.1.exe

C:\Temp>SomeProgram.exe

C:\Temp>del SomeProgram.exe

C:\Temp>mklink SomeProgram.exe C:\Temp\MyProgram.exe
symbolic link created for Backup.exe <<===>> C:\Temp\Backup-1.0.1.exe

C:\Temp>SomeProgram.exe
    
por basic6 29.06.2011 / 21:00

3 respostas

8

Como a única outra resposta realmente não "conserta" o problema, apenas o reconhece, acho que vale a pena dizer que tive esse mesmo problema e descobri o problema.

O problema para mim era os links simbólicos relativos x absolutos . Eu uso o Link Shell Extension .

Ao criar links simbólicos absolutos , o Explorer funciona bem. Ao criar links relativos , o Explorer engasga com eles.

Eu só posso imaginar que isso é de alguma forma relacionado a como o Explorer calcula o diretório de trabalho? Talvez alguns problemas de slash?

(Note que no Win7 x64, pelo menos, você pode ter que abrir o LSEConfig.exe depois de instalar a extensão, e alternar Absolute e Relative para fazer links relativos, já que a configuração padrão é um tanto imprevisível , às vezes relativo, às vezes absoluto.)

    
por 09.12.2011 / 06:26
4

Funciona para mim ....

D:\Develop\DateTouch>mklink foo.exe TouchDate.exe
symbolic link created for foo.exe <<===>> TouchDate.exe

D:\Develop\DateTouch>foo.exe

Como você está criando o link simbólico?

Editar :

  • OWindows7ServicePack1éaplicado?
  • 64bits?

Editar:vejoumproblema:

C:\Users\ian.AVATOPIA>mklinkfoo4.exec:\asdfasdf\adfasdf.exesymboliclinkcreatedforfoo4.exe<<===>>c:\asdfasdf\adfasdf.exe

Portanto,verifiqueseoarquivorealmenteexiste.

Editar:achoquevejooseuproblema:

  • iniciabemapartirdeumpromptdecomando
  • falhaaoiniciarapartirdoWindowsExplorer:

    
por 30.06.2011 / 06:01
0

Bastante um necro, mas ainda tive a mesma pergunta e esta foi a única a abordar esta questão.

Mas aqui está minha solução! Se "C: \ app.exe" lhe der problemas por não iniciar por causa do explorer, apenas crie "app.bat", com "C: \ app.exe" como conteúdo. O lançamento do app.bat iniciará o app.exe a partir da linha de comando.

O problema agora é que ele é executado a partir do local do app.exe, portanto, os links relativos no .exe podem causar problemas agora, apenas programas simples funcionam. Você ainda pode fazer um .bat que vai para o local de destino e, em seguida, executa o .exe, mas estamos a quilômetros de "apenas um symlink".

    
por 26.07.2014 / 21:56