2016-04-08 22 views
1

私はWindows(Electronアプリ)上に.exeファイルを持っていますが、ダブルクリックで起動するとハングしますが、cmdプロンプトまたは.batファイルから起動するとうまく動作します。何が違いますか?cmdから.exeをダブルクリックするのと違う方法は?

これも私が現在取り組んでいるプロジェクトの電子ベースのアプリです。

+0

デバッガをファイルエクスプローラに接続して、どこがハングしているのを確認してください。途中で奇妙なシェル拡張機能が使用されている可能性があります(コマンドプロンプトから起動した場合は表示されません)。 – IInspectable

+0

私の頭に浮かぶのは作業フォルダです。 – Stephan

+0

はい、私は作業フォルダを、cmdからルートCドライブに移動して起動することを排除しましたが、その場合でも動作します。 – Cliff

答えて

2

私は(どちらかといえば賢い同僚の助けを借りて)違いが何かを考え出しました。私の電子アプリでは、フォークされたプロセスでいくつかのconsole.logコールが発生しています。 .exeから実行すると、これらの呼び出しは使用できないstdoutに書き込もうとしています。出力をファイルシステムに再ルーティングするコードにリダイレクトを追加すると、問題が修正されます。

0

私が作ったプログラムをダブルクリックするとEXCEPTION_ACCESS_VIOLATIONが得られましたが、それはcmdから正常に実行されます。右クリックして管理者として実行すると、それも機能します。

私は、プログラムが何か管理権を必要とするかどうかは分かりませんが、時にはそれはしばしばありません。私の経験からは、コードやコンパイラに依存しますが、それ以上の詳細はわかりません。

関連する問題