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

19

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.". Links simbólicos para outros destinos parecem funcionar bem.

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

EDIT: No prompt de comando, eu 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
basic6
fonte
Verifique se os links simbólicos apontam para o lugar certo - o destino é relativo ao local do link, não ao diretório atual ao criar um link. (Este mordidas * nix usuários muitas vezes.)
grawity
@ grrawity: Não é verdade. Os links simbólicos podem usar caminhos absolutos e relativos em * nix. Além disso, ele mencionou o Windows 7.
Kurt Pfeifle 29/11/11
@pipitas: Você está certo de que os links simbólicos podem usar caminhos absolutos (eu nunca disse o contrário), é só que as pessoas costumam usar ln -s ../../foo somedir/bare entender a coisa errada. || Os links simbólicos funcionam exatamente da mesma maneira no * nix e no Windows.
grawity

Respostas:

8

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

O problema para mim foi relativo versus links simbólicos absolutos . Eu uso a Extensão do Shell de Link .

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

Só posso supor que isso esteja relacionado à maneira como o Explorer calcula o diretório de trabalho? Talvez alguns problemas de barra?

(Observe que, no Win7 x64, pelo menos, talvez seja necessário abrir o LSEConfig.exe após a instalação da extensão e alternar entre Absolute e Relative para que ele faça links relativos, pois a configuração padrão é um tanto imprevisível, às vezes relativa, às vezes absoluta .)


fonte
Tenho o LSE instalado, mas onde posso encontrar o LSEConfig.exe?
laggingreflex
Ah, eu precisava instalar a versão mais recente. Não estava lá antes.
laggingreflex
5
Links absolutos não funcionam melhor do que links relativos para mim no Windows 7 de 32 bits. Pelo menos não quando feito via mklink [absolutelink] [absolutetarget].
Weberc2 10/10/12
5

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 :

insira a descrição da imagem aqui

  • Windows 7 Service Pack 1 aplicado?
  • 64 bits?

Editar: vejo um problema:

C:\Users\ian.AVATOPIA>mklink foo4.exe c:\asdfasdf\adfasdf.exe
symbolic link created for foo4.exe <<===>> c:\asdfasdf\adfasdf.exe

Portanto, verifique se o seu arquivo realmente existe.


Edit: acho que vejo seu problema:

  • lança bem a partir de um prompt de comando
  • falha ao iniciar a partir do Windows Explorer :

insira a descrição da imagem aqui

Ian Boyd
fonte
É exatamente o que estou fazendo. "mklink foo.exe c: \ windows \ system32 \ notepad-exe" ou se o bloco de notas estiver no diretório atual "mklink foo2.exe notepad.exe". Ao tentar abrir o foo.exe ou o foo2.exe, recebo a mensagem de erro. Observe que eu posso abrir os arquivos com um editor de texto substituindo ".exe" por ".txt", para que o destino do link simbólico esteja correto.
basic6
11
Sim é isso! O sagrado Explorer se recusa a executar links simbólicos, mas o prompt de comando do Windows e outros gerenciadores de arquivos como o muCommander não. Isso resolve meu problema - obrigado!
basic6
4
Bem, isso não resolve o problema; mas explica como reproduzi-lo. Não consegui encontrar nada no monitor do processo que indicasse por que o Explorer falha ao iniciá-lo. Eu até escrevi um aplicativo e liguei ShellExecute, e ele foi lançado bem.
Ian Boyd
11
Voto negativo por falha em resolver o problema real.
weberc2
2

Bastante necro, mas eu ainda tinha a mesma pergunta e essa foi a única que abordou esse problema.

Mas aqui está minha solução alternativa! Se "C: \ app.exe" fornecer problemas para não iniciar por causa do explorer, basta criar "app.bat", com "C: \ app.exe" como conteúdo. Iniciar o app.bat iniciará o app.exe na 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. Ainda é possível criar um .bat que vá para o local de destino e execute o .exe, mas estamos a quilômetros de "apenas um link simbólico".

Wolfzoon
fonte