在安装Delphi 2007 (编辑:这个问题在2006到2010年的所有Delphi版本中都会出现)之后,我得到了一个错误,我不能找出并且以前从未见过。在重新启动后,我可以启动程序而没有任何问题,但是如果我关闭程序并重新启动,它将给我以下错误:
“无法创建文件C:\Users\Admin\AppData\Local\Temp\EditorLineEnds.ttr".该进程无法访问该文件,因为该文件正被另一个进程使用。“
"System“对此文件有一个句柄,除非我重新启动,否则无法清除该句柄。我还可以通过在启动程序之前重命名该文件来纠正该问题。
我试过重新安装这个程序,但没有成功。
安装的版本:用于Win32®R2的CodeGear™Delphi®2007版本11.0.2902.10471。操作系统:64位Windows 7专业版
更新08/14 13:35 EDT尝试了以下解决方案,但仍然存在相同的文件锁定问题:
我将尝试从头开始重新安装Windows,并在Windows更新之前安装Delphi,看看更新是否是真正的原因。我现在的解决办法是在启动Delphi之前重命名EditorLineEnds.ttr。
发布于 2014-08-14 22:39:20
据我所知,有三种解决方案:
注意:微软在几天后撤回了这个修复,并在2014-08-27发布了一个新的KB2984615。不幸的是,这并没有解决我的问题。也许先卸载KB2982791,然后再安装KB2984615可能行得通,但我还没有试过。
我写了a simple program,为我解决了这个问题:
它使用FindFirstChangeNotification / FindNextChangeNotification并检查该文件是否存在,如果存在,则将其移动到%temp%中的唯一子目录中。
源代码可以在from sourceforge上找到。
发布于 2014-08-25 23:05:04
这是我在Win7 64位系统上运行Delphi2006的bds_start.bat脚本。我定制了GabeMeister答案和类似的脚本,可以在其中一个链接中找到。我现在可以重新启动DelphiIDE,而不需要重新启动。所有ttr临时文件仍被系统锁定,因此del命令可能无法工作。一旦系统重新启动,它们就可以删除。
然而,双击myproject.dpr项目文件不可能重新启动Delphi。我不敢为D2006安装IDEFixPack,因为其中一条评论并没有保证它能正常工作。
bds_start.bat
@REM http://www.danielmagin.de/blog/index.php/2014/08/windows-update-disable-delphi-2007-2010/
@REM http://stackoverflow.com/questions/25295980/delphi-2007-error-cannot-create-file-c-users-admin-appdata-local-temp-editorl
@REM http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/idecommandline_xml.html
@REM del files created by DelphiIDE, may not able to delete but
@REM moving to a new name is possible. Use unique name by timestamp.
del "%temp%\EditorLineEnds*.ttr"
set dt=%date%_%time:~3,2%-%time:~6,2%
rename "%temp%\EditorLineEnds.ttr" "EditorLineEnds_%dt%.ttr"
start "" "C:\Borland\BDS\4.0\Bin\bds.exe" -pDelphi
正在运行将参数更改为-pCBuilder的CBuilder。也许最好的解决办法是创建bds.exe替换工具,删除/移动*.ttr文件,运行并传递原始bds_original.exe文件的cmd参数。这应该会启用*.dpr双击重新启动。或者使用我认为是链接到*.dpr扩展的regedit的BdsLauncher.exe。则进程列表具有bds.exe名称。
发布于 2014-08-15 15:13:45
这是来自http://www.danielmagin.de/blog/index.php/2014/08/windows-update-disable-delphi-2007-2010/的另一个解决方法
引用:
您可以通过两种方式轻松回滚
1:创建包含以下行的批处理文件
wusa /uninstall /kb:2982791
wusa /uninstall /kb:2970228
你在windows启动时运行的这个批处理文件。但使用自动更新时,每次都会安装这两个更新
2:从自动更新中禁用知识库
更新后,goto WindowsUpdatesin你的系统。禁用这两个KB的,以便在新的更新时,它将不会再次安装
https://stackoverflow.com/questions/25295980
复制相似问题