web-dev-qa-db-ja.com

致命的エラー:出力ファイル「project1.exe」を作成できません

だからしばらくの間、私はこの問題を抱え続けています:

delphi 7とDelphi XE2を使用するWindows 7(64ビット)では、IDE内からプログラムをコンパイル、実行、停止、変更して再実行すると、次のエラーメッセージが表示されます。

[致命的なエラー]出力ファイル「project1.exe」を作成できません

何が原因なのか私にはわかりません。詳細を探しましたが、解決策が見つかりませんでした。

2つの回避策があります。1〜2分待つか、project1.exeを手動で削除します。言うまでもなく、これは機能しません。

ウイルススキャナーもウイルスもありません。関連フォルダへの完全なアクセス権を持っています。すべてを管理者として実行します。

何が原因ですか?それを修正するにはどうすればよいですか?

15
Marck

私は解決策を見つけました。これは、サービス「アプリケーションエクスペリエンス」を無効にすると発生したようです。無効にすると、タスク「システム」は「任意の」実行可能ファイルをしばらくロックします。

「アプリケーションエクスペリエンス」を再度有効にすることがソリューションです。

経由で見つかりました:

https://superuser.com/questions/260375/why-would-system-continue-locking-executable-file-handles-after-the-app-has-exit

15
Marck

アプリケーションを再構築しようとしたときに、project1.exeがまだ実行されているような気がします。終了するまでに時間がかかるかもしれません。タスクマネージャーを開いて簡単に確認し、アプリケーションを閉じた後、プロセスproject1.exeがまだアクティブかどうかを確認できます。

4
Diego

XE7を使用していて、「出力ファイルを作成できませんでした」問題 f2039 が時々発生します。 sysinternalsのプロセスエクスプローラーを使用して、Androidデバッグプロセス(adb.exe)がコンパイルされたバイナリにリーエンがあったことを発見しました。理由は不明です。Android私が構築しているこの特定のwin32プロジェクトの構成とにかく、adb.exeを強制終了し、その後はすべて良好でした。

いくつかのポイント。ターゲットの出力ディレクトリにインデックスが作成されることはありませんでした。このスレッドの他の場所で言及されている「アプリケーションエクスペリエンス」はずっと実行されていました。そして、ほとんどの場合、XE7の苦情にもかかわらず、出力バイナリを手動で削除できました。しかし、ある時点で、シェルを介してバイナリを削除できなかったことに気づきました。これにより、Process Explorerを介して問題のadb.exeを見つける機会がありました。

4
bvj

アプリケーション(プロジェクトグループウィンドウ)を右クリックして、[クリーン]を選択しました。

その後、アプリケーションをコンパイルすることができました。

1
kidjake28

このリンクを見る:
エラーの修正方法:[dcc32致命的エラー] F2039出力ファイルXを作成できませんでした

あなただけが、このコマンドをすべてのプロジェクトに入れます。

1
MohsenB

私の場合、ウイルス対策のリアルタイム保護からプロジェクトフォルダを除外することで問題が解決しました。

EXEファイルを手動で削除できますか?いいえ、プロセスがmemroyにある、タスクマネージャーを開く、プロジェクトを選択する、タスクを終了する。アプリケーションの終了を妨げるコードにバグがあります。

プロセスリストにない場合は、次を試してください。

Windowsインデックス作成からファイルを1つ除外するか、ファイルにインデックスを付けるサードパーティのファイル検索アプリケーション

2-Windows 7でアプリケーション体験サービスをアクティブ化

3-アンチウイルスのリアルタイム保護からプロジェクトフォルダーを除外する

[〜#〜]更新[〜#〜]

私が気づいたのは、上で言ったことをすべて行っても、Windows 7でランダムにこのエラーが発生することがあります。特に、プロジェクトを何度もコンパイルすると...最初のコンパイルは問題ありませんが、その後この問題が10回以上発生する

1

Castaliaを使用している場合は、削除してみてください。私はこの問題を解決するために3日間費やしました。考えられるすべてのこと、ファイルのアクセス許可、プロセスエクスプローラーでのファイルハンドルの監視。 Castalia 2013.3.4をインストールすると問題が発生し(再現する手順があります)、アンインストールすると問題が解決します。

さらに、IDEは、「デフォルトのデバッグデスクトップ」が設定されている場合にクラッシュし、保存されている他のレイアウトを使用してデバッガーで実行しようとします(デバッグデスクトップへの切り替え時にクラッシュが発生します)。 。

1
marketideas

私は同じ問題に直面し、それを解決しました。いくつかの未知のケースでは、exeアプリケーションは実行されたままのようです。
解決策は簡単です。次の手順に従ってください。

  1. windowsタスクマネージャーを開く
  2. 「プロセス」タブに移動します
  3. 「すべてのユーザーのプロセスを表示」をクリックすると、exeが表示されます
  4. それを選択し、「プロセスの終了」ボタンを押してください

そして、すべてが大丈夫になります。

1
Zaher Soboh

互換モードをXP SP3に設定することで修正したようです。これにより、Alt-Pが開かずにプロジェクトメニューが表示されないという別の問題も修正されました。

EDIT:アプリケーションエクスペリエンスを再度有効にする必要はありませんでした。それがあるべき場所でまだ死んでいる:)

Delphiショートカットの[プロパティ]を右クリックし、[互換性]タブを選択します。次の互換性モードでプログラムを実行するを選択します:Windows XP(Service pack 3)。

([このプログラムを管理者として実行する]ボックスもオンにしましたが、実行しないこともできます。)

(これはDelphi 7の場合であり、OPの質問によると、XE7ではありませんが、XE7でも機能する可能性があります。)

Compatibility settings

0
  1. Windowsタスクマネージャーを開こうとする
  2. ここにアプリが見つからない場合は、プロセスに進みます
  3. 次に、詳細タブに移動します。

同じ問題があり、[詳細]タブで見つけました。

0
Andy V

1/29/2020:先週、私はこれを経験しました:Win 10マシンのDelphi 7にプロジェクトをロードし、それをコンパイルし(成功)、D7の内部からプロジェクトを実行し(成功)、プロジェクトを再コンパイルして、 .... project1.exeを作成できません。再起動すると、コンパイルと実行は成功しますが、2回目のコンパイルは上記のように失敗します。 Dell Support Assistのアップデートが8日前(これが始まった頃)であることを発見したので、それをアンインストールしました。その後、D7で問題はありません。

0
Keith

Delphiでビルドした後、Microsoft Security Essentialsがファイルを保持することがあり、リアルタイム保護をオフにする必要があります。

ファイルを保持しているプロセスを確認するには、Sysinternals Process Explorer: link を使用します。 「検索ハンドル」を使用して、exe名を入力します。

0

私の場合は、存在しない出力フォルダーが原因でした。

したがって、試すことができるのは、[プロジェクト]-> [オプション]に移動し、[ディレクトリ]タブで、出力ディレクトリを既存のフォルダーに変更して、もう一度試してください。

0
PretoriaCoder