Exécution du lien symbolique vers exe - «Le chemin spécifié n'existe pas»

19

Lorsque vous essayez d'exécuter un lien symbolique qui pointe vers un fichier exe (sous Windows 7), la fenêtre "Ouvrir avec" apparaît. Lorsque vous le renommez en un fichier ".exe", il indique "Le chemin spécifié n'existe pas. Vérifiez le chemin, puis réessayez.". Les liens symboliques vers d'autres destinations semblent bien fonctionner.

Existe-t-il un moyen d'exécuter un lien symbolique?

EDIT: dans l'invite de commande, j'exécute ce qui suit et le MyProgram.exe s'exécute les deux fois. Cependant, si je double-clique sur le lien symbolique dans l'Explorateur Windows, il échoue avec le message d'erreur ci-dessus.

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
la source
Assurez-vous que vos liens symboliques pointent au bon endroit - la cible est relative à l'emplacement du lien, pas au répertoire courant lors de la création d'un lien. (Cela mord souvent les utilisateurs de * nix.)
user1686
@grawity: Pas vrai. Les liens symboliques peuvent utiliser des chemins absolus et relatifs sur * nix. En outre, il a mentionné Windows 7.
Kurt Pfeifle
@pipitas: Vous avez raison de dire que les liens symboliques peuvent utiliser des chemins absolus (je n'ai jamais dit le contraire), c'est juste que les gens utilisent ln -s ../../foo somedir/baret obtiennent souvent la mauvaise chose. || Les liens symboliques fonctionnent exactement de la même manière dans * nix et Windows.
user1686

Réponses:

8

Étant donné que la seule autre réponse ne «résout» pas vraiment le problème, le reconnaît simplement, je pense qu'il vaut la peine de dire que j'ai eu ce même problème et découvert le problème.

La question a été pour moi par rapport vs absolu des liens symboliques. J'utilise l' extension Link Shell .

Lors de la création de liens symboliques absolus , Explorer fonctionne correctement. Lors de la création de liens relatifs , Explorer s'étouffe avec eux.

Je peux seulement deviner que cela est en quelque sorte lié à la façon dont Explorer calcule le répertoire de travail? Peut-être quelques problèmes de slash?

(Notez que sur Win7 x64, au moins, vous devrez peut-être ouvrir LSEConfig.exe après avoir installé l'extension, et basculer Absolute puis Relative pour obtenir des liens relatifs, car la configuration par défaut est quelque peu imprévisible, parfois relative, parfois absolue .)


la source
J'ai LSE installé mais où puis-je trouver LSEConfig.exe?
laggingreflex
Ah, j'avais besoin d'installer la dernière version. Ce n'était pas là avant.
laggingreflex
5
Les liens absolus ne fonctionnent pas mieux que les liens relatifs pour moi sous Windows 7 32 bits. Du moins, pas via mklink [absolutelink] [absolutetarget].
weberc2
5

Travaille pour moi....

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

D:\Develop\DateTouch>foo.exe

Comment créez-vous le lien symbolique?


Modifier :

entrez la description de l'image ici

  • Windows 7 Service Pack 1 appliqué?
  • 64 bits?

Edit: je vois un problème:

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

Assurez-vous donc que votre fichier existe réellement.


Edit: je pense que je vois votre problème:

  • il se lance très bien à partir d'une invite de commande
  • il ne parvient pas à se lancer à partir de l' Explorateur Windows :

entrez la description de l'image ici

Ian Boyd
la source
C'est exactement ce que je fais. "mklink foo.exe c: \ windows \ system32 \ notepad-exe" ou si le bloc-notes se trouve dans le répertoire actuel "mklink foo2.exe notepad.exe". Lorsque j'essaie d'ouvrir foo.exe ou foo2.exe, je reçois ce message d'erreur. Notez que je peux ouvrir les fichiers avec un éditeur de texte en remplaçant ".exe" par ".txt", donc la cible du lien symbolique est correcte.
basic6
1
Oui c'est ça! Le Holy Explorer refuse d'exécuter des liens symboliques, mais l'invite de commande Windows et d'autres gestionnaires de fichiers comme muCommander ne le font pas. Cela résout mon problème - merci!
basic6
4
Eh bien, cela ne résout pas le problème; mais il explique comment le reproduire. Je n'ai rien trouvé dans le moniteur de processus qui indiquerait pourquoi Explorer ne le lance pas. j'ai même écrit une application et un appel ShellExecute, et ça démarre très bien.
Ian Boyd du
1
Votez pour ne pas avoir résolu le problème réel.
weberc2
2

Un peu nécro, mais j'avais toujours la même question et c'était la seule qui abordait ce problème.

Mais voici ma solution! Si "C: \ app.exe" vous pose des problèmes pour ne pas lancer à cause de l'explorateur, créez simplement "app.bat", avec "C: \ app.exe" comme contenu. Le lancement de app.bat lancera app.exe à partir de la ligne de commande.

Le problème est maintenant qu'il l'exécute à partir de l'emplacement de app.exe, donc les liens relatifs dans le .exe peuvent poser problème maintenant, seuls les programmes simples fonctionnent. Vous pouvez toujours créer un .bat qui va à l'emplacement cible puis exécute le .exe, mais nous sommes alors à des kilomètres de "juste un lien symbolique".

Wolfzoon
la source