致命错误:无法创建输出文件“project1.exe”

时间:2012-08-07 17:45:44

标签: delphi windows-7 delphi-7 delphi-xe2

所以有一段时间我一直有这个问题:

在Windows 7(64位)上,使用Delphi 7和Delphi XE2,如果来自IDE,我编译程序,运行它,停止它,更改它并重新运行它我收到此错误消息:

[致命错误]无法创建输出文件" project1.exe"

我不清楚导致这种情况的原因。我用谷歌搜索了更多信息,但我找不到解决方案。

有两种解决方法:要么等一两分钟,要么手动删除project1.exe。不用说,这是行不通的。

我没有病毒扫描程序,也没有病毒。拥有相关文件夹的完全访问权限以管理员身份运行一切

那么是什么导致了这个?我该怎么做才能解决它?

14 个答案:

答案 0 :(得分:15)

我找到了解决方案。似乎禁用服务“应用程序体验”会导致这种情况。 禁用时,任务“system”将锁定“任何”可执行文件一段时间。

重新启用“应用体验”是解决方案。

通过以下方式找到:

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

答案 1 :(得分:5)

我觉得当您尝试重建应用程序时,project1.exe仍在运行。也许它需要更长的时间来关闭。您可以通过打开任务管理器轻松检查,并在关闭应用程序后查看进程 project1.exe 是否仍处于活动状态。

答案 2 :(得分:4)

我在XE7上,偶尔会遇到“无法创建输出文件”问题,。使用sysinternals的Process Explorer,我发现一个android调试进程(adb.exe)对已编译的二进制文件有一个留置权。不确定为什么;在我正在构建的这个特定的win32项目中没有android配置。无论如何,杀死了adb.exe,之后一切都很好。

有些观点。目标输出目录从未被编入索引。此线程中其他地方提到的“应用程序体验”一直在运行。在大多数情况下,尽管有XE7的抱怨,我还是可以手动删除输出二进制文件。然而,我注意到,我无法通过shell删除二进制文件,这提供了通过Process Explorer找到有问题的adb.exe的机会。

答案 3 :(得分:1)

如果您正在使用Castalia,请尝试删除它。我花了3天时间试图解决这个问题,我能想到的一切......文件权限,用进程资源管理器查看文件句柄。如果我安装Castalia 2013.3.4,问题就出现了(我有重复步骤),卸载它会让问题消失。

此外,如果您设置了“默认调试桌面”,IDE将崩溃,并尝试使用任何其他保存的布局在调试器下运行。 (切换到调试桌面时发生崩溃)。

答案 4 :(得分:1)

在我的情况下,这是由于输出文件夹不存在。

所以你可以尝试去Project->选项并在“目录”选项卡下,将输出目录更改为存在的文件夹,然后重试。

答案 5 :(得分:1)

在我的案例中,通过从防病毒实时保护中排除项目文件夹来解决问题。

你可以手动删除EXE文件吗?如果没有,proccess处于memroy,打开任务管理器,选择你的项目,END任务。你在代码中有一些阻止应用程序终止的错误。

如果它不在进程列表中,请尝试:

从Windows中排除文件夹索引文件的索引或第三方文件搜索应用程序

2-in Windows 7激活应用程序体验服务

3 - 从防病毒实时保护中排除项目文件夹

<强>更新

我注意到,即使你完成了我上面所说的所有内容,你也可能会在 Windows 7 中随机出现这种错误。特别是当你多次编译项目时...首先编译将是好的但是十次或更多次之后会出现这个问题

答案 6 :(得分:1)

观看此链接:
How to fix Error : [dcc32 Fatal Error] F2039 Could not create output file X

只有您最多将此命令应用于所有项目。

答案 7 :(得分:0)

我右键单击了应用程序(在项目组窗口中),然后选择了CLEAN。

然后我就可以编译应用程序了。

答案 8 :(得分:0)

我遇到了同样的问题,我解决了。似乎在某些未知的情况下,exe应用程序仍在运行 解决方案很简单。您必须按照以下步骤操作:

  1. 打开Windows任务管理器
  2. 转到“流程”标签
  3. 点击“显示所有用户的流程”,将显示您的exe
  4. 选择它并按“结束处理”按钮
  5. 一切都会好起来的。

答案 9 :(得分:0)

有时,Microsoft Security Essentials在Delphi中构建文件后会保存该文件,您需要关闭实时保护。

要检查哪个进程保存文件,请使用Sysinternals Process Explorer:link。使用&#34;查找句柄&#34;并输入您的exe名称。

答案 10 :(得分:0)

我似乎通过将兼容模式设置为XP SP3来修复它。这也解决了另一个令Alt-P未打开的烦恼带来的项目菜单。

编辑:我没有必要重新启用我的应用体验。仍然死在它应该是:)

右键单击Delphi快捷方式“属性”,然后选择“兼容性”选项卡。选择在兼容模式下运行程序:Windows XP(Service Pack 3)。

(我还检查了以管理员方式运行此程序,但您可以选择不这样做。)

(这是针对Delphi 7,根据OP的问题,不适用于XE7,尽管它也适用于此。)

Compatibility settings

答案 11 :(得分:0)

  1. 尝试打开W​​indows任务管理器
  2. 如果无法在此处找到您的应用,请继续处理
  3. 然后转到详细信息选项卡,您将找到它。

我遇到了同样的问题,然后在“详细信息”标签上找到了它。

答案 12 :(得分:0)

1/29/2020:在过去一周中,我经历了以下事情:在Win 10机器上的Delphi 7中加载项目,进行编译(成功),从D7内部运行项目(成功),重新编译项目并获得“无法创建.... project1.exe”。重新启动后,可以成功编译并执行,但是如上所述,第二次编译失败。 我发现Dell Support Assist在8天前(大约在它开始的时间)进行了更新,因此我将其卸载了。之后,D7没问题。

答案 13 :(得分:0)

对我有用的解决方案,更改项目选项->链接并保留它,然后手动删除可执行文件并解决。Project options -> linking