Delphi 2006-2010 오류 : "C : \ Users \ Admin \ AppData \ Local \ Temp \ EditorLineEnds.ttr 파일을 만들 수 없습니다."
Delphi 2007 (편집 : 2006 년부터 2010 년까지의 모든 Delphi 버전에서이 문제가 발생합니다)을 설치 한 후 오류가 발생합니다. 다시 시작한 후 문제없이 프로그램을 시작할 수 있지만 프로그램을 종료하고 다시 시작하면 다음 오류가 발생합니다.
"C : \ Users \ Admin \ AppData \ Local \ Temp \ EditorLineEnds.ttr 파일을 만들 수 없습니다." 다른 프로세스에서 사용 중이기 때문에 프로세스가 파일에 액세스 할 수 없습니다. "
"시스템"에는 재부팅하지 않으면 지울 수없는이 파일의 핸들이 있습니다. 프로그램을 시작하기 전에 파일 이름을 변경하여 문제를 해결할 수도 있습니다.
운없이 프로그램 재설치를 시도했습니다.
설치된 버전 : CodeGear ™ Delphi® 2007 for Win32® R2 버전 11.0.2902.10471. 운영 체제 : Windows 7 Pro 64bit
업데이트 08/14 13:35 EDT 다음 솔루션을 시도했지만 여전히 동일한 파일 잠금 문제가 있습니다.
- 임시 디렉터리를 전체 보안 권한이있는 디렉터리로 이름을 변경했습니다. Delphi를 시작할 때이 디렉토리에 파일이 생성되지만 EditorLineEnds.ttr은 여전히 SYSTEM에 의해 잠기고 다시 시작할 수 없습니다.
- 다음 보안 업데이트 KB2982791 및 KB2976897을 제거했지만 문제가 해결되지 않았습니다. 지금은 Windows 업데이트를 억제했으며 8/13에 대한 모든 보안 패치를 제거하려고합니다.
- Delphi를 완전히 제거하고 다시 설치했습니다. 모든 것을 다시 설치 한 후에도 문제가 계속 발생합니다.
Windows를 처음부터 다시 설치하고 Windows 업데이트 전에 Delphi를 설치하여 업데이트가 진정한 원인인지 확인합니다. 내 해결 방법은 Delphi를 시작하기 전에 EditorLineEnds.ttr의 이름을 바꾸는 것입니다.
내가 알고있는 세 가지 해결책이 있습니다.
- Francisco Caffagni에서 이미 언급 한 Windows 보안 업데이트 KB2982791을 제거해보십시오. 이로 인해 문제가 해결되었지만 (Windows 8.1 + Delphi 2007) Windows 보안 업데이트를 제거하는 것은 좋지 않을 수 있습니다.
- Delphi를 시작할 때마다 파일 이름을 변경하십시오. 당신을 위해 그것을 수행하는 간단한 프로그램은 아래를 참조하십시오.
- Andreas Hausladen의 IdeFixpack 사용 ( Delphi 2007 버전 , 버전 4.4는 Windows 8 에서 작동하지 않음 , 버전 4.3은 작동하는 것 같음 ), ( 나중 Delphi 버전의 경우 )이 수정을 사용하면 편집기 옵션 Show Lineends가 다른 문자를 사용합니다. IDE가 더 이상 EditorLineEnds.ttr 글꼴을로드하지 않기 때문입니다. (솔루션 1과 2에는 이러한 단점이 없지만 어쨌든 누가 그 옵션을 사용합니까?)
참고 : Microsoft는 며칠 후이 수정 사항을 철회하고 2014-08-27에 새로운 수정 사항 KB2984615를 발표했습니다. 불행히도 이것은 나를 위해 문제를 해결하지 못했습니다. KB2982791을 먼저 제거한 다음 KB2984615를 설치하면 작동 할 수 있지만 시도해 보지 않았습니다.
나는 나를 위해 문제를 해결 하는 간단한 프로그램을 작성 했습니다 .
FindFirstChangeNotification / FindNextChangeNotification을 사용하여 해당 파일이 존재하는지 확인하고, 존재하는 경우 % temp %의 고유 한 하위 디렉터리로 이동합니다.
소스 코드는 sourceforge에서 구할 수 있습니다 .
이것은 Win7-64bit 시스템에서 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
CBuilder 변경 인수를 -pCBuilder로 실행합니다 . 아마도 가장 좋은 해결책은 bds.exe 대체 도구를 만들고 * .ttr 파일을 삭제 / 이동하고 cmd 인수를 실행하고 원본 bds_original.exe 파일에 전달하는 것입니다. 이렇게하면 * .dpr 두 번 클릭이 다시 시작됩니다. 또는 * .dpr 확장자에 연결된 regedit라고 생각하는 BdsLauncher.exe를 사용하십시오. 그런 다음 프로세스 목록에는 bds.exe 이름이 있습니다.
다음은 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 :
업데이트 후 자동 업데이트 에서 KB를 비활성화하고 시스템의 WindowsUpdate로 이동합니다. 두 KB를 모두 비활성화하므로 새 업데이트에서 다시 설치되지 않습니다.
Delphi 2007의 경우 IDEFixPack 4.4를 설치하고 시스템 설정에 다음 환경 변수를 추가합니다.
IDEFixPack.DisabledPatches = DotNet.GlobalizationSearch
재부팅하면 작동합니다. 나는 Win 8.1 Pro가 설치된 2 개의 데스크탑을 가지고 있으며 그 기능이 매력적입니다!
Microsoft에서 KB2982791 업데이트를 철회했습니다. 인용 된 이유는 글꼴 렌더링 및 시스템 충돌 문제로 보이며, 표면 상 델파이의 결함으로 보이며 업데이트로 인해 악화되는 특정 문제가 아닙니다.
Microsoft 사이트의 KB 문서가 업데이트되었습니다. http://support.microsoft.com/kb/2982791
특히 다음 섹션이 중요합니다.
알려진 문제 2
Microsoft는 다음 업데이트를 설치 한 후 글꼴이 올바르게 렌더링되지 않는 동작을 조사하고 있습니다.
2982791 MS14-045 : 커널 모드 드라이버 용 보안 업데이트에 대한 설명 : 2014 년 8 월 12 일
2970228 새 통화를 지원하는 업데이트
Windows RT 8.1, Windows 8.1 및 Windows Server 2012 R2 용 2014 년 8 월 업데이트 롤업 2975719 의 러시아 루블 기호 2975331
Windows RT, Windows 8 및 Windows Server 2012 용 2014 년 8 월 업데이트 롤업상태
Microsoft는 이러한 문제를 조사하는 동안 이러한 업데이트에 대한 다운로드 링크를 제거했습니다.Known issue 3
Microsoft is investigating behavior in which systems may crash with a 0x50 Stop error message (bugcheck) after any of the following updates are installed:
2982791 MS14-045: Description of the security update for kernel-mode drivers: August 12, 2014
2970228 Update to support the new currency symbol for the Russian ruble in Windows
2975719 August 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2
2975331 August 2014 update rollup for Windows RT, Windows 8, and Windows Server 2012This condition may be persistent and may prevent the system from starting correctly.
Status
Microsoft has removed the download links to these updates while these issues are being investigated.
The problem seems to be with Windows Updates installed on 13th August. I tried uninstalling KB2982791 as suggested by the previous poster, but that did not fix the problem. Uninstalling all Windows updates from 13th August did cure the problem however.
If you are on windows, I made a batch file shortcut for starting Delphi. Basically it is a batch file that changes the name of EditorLineEnds.ttr
to the current date time, moves it to a different sub folder, and then starts Delphi.
Here are the contents of my batch script:
SET HOUR=%time:~0,2%
SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%%time:~6,2%
SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%
if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%)
if exist "C:\Users\<username here>\AppData\Local\Temp\EditorLineEnds.ttr" (
echo "Moving EditorLineEnds.ttr"
MOVE "C:\Users\<username here>\AppData\Local\Temp\EditorLineEnds.ttr" "C:\Users\<username here>\AppData\Local\Temp\ExtraEditorLineEnds\%dtStamp%.ttr"
) else (
echo "EditorLineEnds.ttr was not found."
)
start "C:\Program Files (x86)\CodeGear\RAD Studio\6.0\bin\bds.exe"
The same for CodeGear Delphi 2009 on Windows 7
Uninstalling following windows update 2982791 2970228 wont help.
Using IDE Fix Pack after that will help.
dzEditorLineEndsFix - Cannot create file %Temp%\EditorLineEnd.ttr
This is a small program that fixes the problem introduced by the Windows update KB2982791 with Delphi 2006 to 2010 that causes the error "Cannot create file %Temp%\EditorLineEnds.ttr". It works by moving the file to its own unique subdirectory whenever it is being created.
I'm using Windows 8, not 8.1
I turned off all Windows updates and yesterday I checked for updates and installed all security updates. Today I have the same problem, but none of the above mentioned update was installed on my notebook. I looked for all of them, but did not find any between installed security updates:
KB2982791, KB2970228, KB2975719, KB2975331
But I found another update KB2993651 and tried to uninstall it, uninstallation process was halted. I reset my comp. Now I cant find this update, and the problem did not solved.
So did not find a another workaround and created the following script, that I run before opening RAD 2010.
cd %temp%
ren EditorLineEnds.ttr EditorLineEnds%RANDOM%.ttr
I'm using the %RANDOM% function, because with the fixed name on second time the renamed file will also be locked and the script will not succeed on rename.
ReferenceURL : https://stackoverflow.com/questions/25295980/delphi-2006-2010-error-cannot-create-file-c-users-admin-appdata-local-temp-ed
'programing' 카테고리의 다른 글
조각 만들기 : 생성자 대 newInstance () (0) | 2021.01.15 |
---|---|
DateTime.ParseExact (String, String, IFormatProvider)에 IFormatProvider가 필요한 이유는 무엇입니까? (0) | 2021.01.15 |
GitLab에 릴리스 / 바이너리를 저장하는 방법은 무엇입니까? (0) | 2021.01.15 |
GitLab CI를 사용하여 로컬에서 테스트를 실행 하시겠습니까? (0) | 2021.01.15 |
여러 로더가있는 웹팩 로더에 쿼리를 추가하는 방법은 무엇입니까? (0) | 2021.01.15 |