私はWindows(Electronアプリ)上に.exeファイルを持っていますが、ダブルクリックで起動するとハングしますが、cmdプロンプトまたは.batファイルから起動するとうまく動作します。何が違いますか?cmdから.exeをダブルクリックするのと違う方法は?
これも私が現在取り組んでいるプロジェクトの電子ベースのアプリです。
私はWindows(Electronアプリ)上に.exeファイルを持っていますが、ダブルクリックで起動するとハングしますが、cmdプロンプトまたは.batファイルから起動するとうまく動作します。何が違いますか?cmdから.exeをダブルクリックするのと違う方法は?
これも私が現在取り組んでいるプロジェクトの電子ベースのアプリです。
私は(どちらかといえば賢い同僚の助けを借りて)違いが何かを考え出しました。私の電子アプリでは、フォークされたプロセスでいくつかのconsole.logコールが発生しています。 .exeから実行すると、これらの呼び出しは使用できないstdoutに書き込もうとしています。出力をファイルシステムに再ルーティングするコードにリダイレクトを追加すると、問題が修正されます。
私が作ったプログラムをダブルクリックするとEXCEPTION_ACCESS_VIOLATION
が得られましたが、それはcmdから正常に実行されます。右クリックして管理者として実行すると、それも機能します。
私は、プログラムが何か管理権を必要とするかどうかは分かりませんが、時にはそれはしばしばありません。私の経験からは、コードやコンパイラに依存しますが、それ以上の詳細はわかりません。
デバッガをファイルエクスプローラに接続して、どこがハングしているのを確認してください。途中で奇妙なシェル拡張機能が使用されている可能性があります(コマンドプロンプトから起動した場合は表示されません)。 – IInspectable
私の頭に浮かぶのは作業フォルダです。 – Stephan
はい、私は作業フォルダを、cmdからルートCドライブに移動して起動することを排除しましたが、その場合でも動作します。 – Cliff