質問: exe ファイルへシンボリックリンクを作ったところ、エクスプローラからリンクをダブルクリックしても起動しませんでした。 別の exe ファイルで試してみたところ、起動できたのでシンボリックリンクだと動かないプログラムはカレントディレクトリが違うことで dll が読み込めないなどの問題があるのだろうと一度納得しました。 しかし、コマンドプロンプトからそのシンボリックリンクを開くと正常に起動しました。 エクスプローラとコマンドプロンプトのどちらでも起動できるプログラムを修正しカレントディレクトリを表示してみたところ、どちらも同じになっていました。 そうなると、なぜエクスプローラからは起動できないものがあるのか不明です。 原因に心当たりありましたら教えていただけると幸いです。 **補足** 問題が起きた exe ファイル: VisualStudio で作成した C# を使った windows forms アプリケーション 起きなかった exe ファイル: 動作確認用のシンプルな WPF アプリケーション 原因を調査するため問題が起きたプログラムから機能を削っていきたいのですがそこそこに規模があるもののため少しずつ機能を削り原因を探るのは困難です。
回答: デバッグ用のデータを出すように修正してリビルド、再度シンボリックリンクを作ると今度は逆でエクスプローラのダブルクリックで起動できるのですが、コマンドプロンプトからは起動できなくなりました。 リンクの作成手順や作成場所は同じです。 また、起動しないときは途中で落ちているのではなく1行目のコードすら実行されていないようでした。 調べていると、シンボリックリンクをexeに貼るのは問題があるとか、ハードリンクにすべきというのが英語のサイトでいくつかみつかりました。 Windows7ではエクスプローラからシンボリックリンクのexeを起動できないバグが過去にあったようです。 今回は Windows10 ですので別物だと思いますが、 Windows でシンボリックリンクをexeに貼るのはやめたほうがよさそうなので、 bat ファイルにして、該当exeを呼び出すことにしました。