Ошибка Delphi 2006-2010: "Cannot create file C:\Users\Admin\AppData\Local\Temp\EditorLineEnds.ttr"

После установки Delphi 2007 (Edit: This problem occurs in all Delphi versions from 2006 to 2010) я получаю ошибку, которую я не могу понять и никогда не видел раньше. После перезапуска я могу запустить программу без каких-либо проблем, но если я закрою программу и запущу ее снова, она выдаст мне следующую ошибку:

"Cannot create file C:\Users\Admin\AppData\Local\Temp\EditorLineEnds.ttr". Процесс не может получить доступ к файлу, потому что он используется другим процессом.".

В "Системе" есть обращение к этому файлу, которое не может быть очищено, пока я не перезагружусь. Я также могу исправить проблему, переименовав файл перед запуском программы.

Я пробовал переустановить программу, но безуспешно.

Установленная версия: CodeGear™ Delphi® 2007 for Win32® R2 Version 11.0.2902.10471. Операционная система: Windows 7 Pro 64bit

Обновление 08/14 13:35 EDT. Пробовал следующие решения, но все равно возникла та же проблема блокировки файлов:

  1. Переименовал Temp Directory в каталог, на который у меня были полные права безопасности. При запуске Delphi в этом каталоге создавались файлы, но EditorLineEnds.ttr по-прежнему блокировался SYSTEM и не позволял мне перезапустить программу.
  2. Удалил следующие обновления безопасности KB2982791 и KB2976897, но это не решило проблему. На данный момент я отключил обновления windows и попробую удалить все исправления безопасности для 8/13.
  3. Полностью удалил Delphi и установил заново. Проблема по-прежнему возникает после повторной установки.

Я попробую переустановить Windows с нуля и установить Delphi до обновления Windows чтобы узнать, действительно ли причиной являются обновления. Моим обходным решением на данный момент является переименование EditorLineEnds.ttr перед запуском Delphi.

Комментарии к вопросу (6)
Решение

Есть три известных мне решения этой проблемы:

  1. Попробуйте удалить обновление безопасности Windows KB2982791, о котором уже упоминал Francisco Caffagni. Это решило проблему для меня (Windows 8.1 + Delphi 2007), но, возможно, это не очень хорошая идея - удалять обновление безопасности Windows.
  2. Переименовывайте файл каждый раз при запуске Delphi. Смотрите ниже простую программу, которая делает это за вас.
  3. Используйте Andreas Hausladen's IdeFixpack (версия Delphi 2007, обратите внимание, что версия 4.4 не работает под Windows 8, версия 4.3 вроде работает), (для более поздних версий Delphi) Обратите внимание, что опция редактора Show Lineends будет использовать другой символ, если вы используете это исправление, потому что IDE больше не будет загружать шрифт EditorLineEnds.ttr. (Решение 1 и 2 не имеют этого недостатка, но кто вообще использует эту опцию?)

Примечание: Microsoft отозвала это исправление через несколько дней и выпустила новое KB2984615 2014-08-27. К сожалению, это не помогло мне решить проблему. Возможно, удаление сначала KB2982791, а затем установка KB2984615 может сработать, но я не пробовал.

Я написал простую программу, которая решила проблему для меня:

Она использует FindFirstChangeNotification / FindNextChangeNotification и проверяет, существует ли этот файл, и если да, перемещает его в уникальный подкаталог в %temp%.

Двоичная загрузка

Исходный код доступен с sourceforge.

Комментарии (6)

Это мой bds_start.bat скрипт работает Delphi2006 на систему Win7-64бит. Я подгонял GabeMeister ответа и подобный скрипт нашел в одной из ссылок. Теперь я могу перезапустить DelphiIDE без перезагрузки. Все ТТК временные файлы до сих пор заблокирована по системе, так что Дель команда может не работать. Они удалить после перезагрузки системы.

Это'ы однако невозможно перезапустить Делфи дважды щелкните мой проект.проект ДНР файлов. Я боялся, чтобы установить IDEFixPack для D2006, потому что один из комментариев не обещаю, что это для работы.

bds_start.летучая мышь

@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 дель/переместить .файл ТТК, запуск и сквозной УМК аргументы к исходному файлу bds_original.exe . Это должно позволить .ДНР дважды щелкните перезагрузится. Или использовать BdsLauncher.exe который я думаю, смерзаться связано с *.расширением DPR. Затем списке процесс bds.exe имя.

Комментарии (1)

Вот еще одно обходное решение с сайта 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's от автоматического обновления после обновления зайдите в WindowsUpdates в вашей системе. отключите оба KB's, так что при новых обновлениях они не будут устанавливаться снова

Комментарии (3)

Для Delphi 2007, установить IDEFixPack 4.4 и добавьте следующую переменную окружения для настройки системы:

IDEFixPack.DisabledPatches=Dotnet Ограничителя.GlobalizationSearch

Перезагрузка и все должно работать. У меня есть 2 ПК с Win 8.1 Pro и его работает как шарм!

Комментарии (1)

Просто отметить, что обновление KB2982791 было отозвано корпорацией Майкрософт. Причины бывают проблемы с шрифтами и системные сбои, и не этот конкретный вопрос, который, на первый взгляд, кажется, по вине Delphi и является лишь усугубляется обновление.

В статье на сайте Microsoft был обновлен: http://support.microsoft.com/kb/2982791

Конкретно эти разделы представляют интерес:

известная проблема 2 корпорация Майкрософт изучает проблему, какие шрифты делать установлен > не правильно после установки одного из следующих обновлений: 2982791 MS14-045: описание обновления для системы безопасности в режиме ядра драйверы: 12 августа 2014 2970228 обновление для поддержки новой валюты символ для российского рубля в Windows обновления 2975719 августа 2014 накопительный пакет обновления для Windows RT 8.1, в Windows 8.1 и Windows 2012 R2 сервера августа накопительный пакет обновления 2975331 2014 г. для Windows RT и Windows 8, а сервер Windows 2012

состояние Microsoft удалила ссылки на скачивание эти обновления, пока эти вопросы выясняются.

известная проблема 3 корпорация Майкрософт изучает поведение таких систем сбой с сообщением об ошибке 0x50 (отладка) после установлен > следующие обновления: 2982791 MS14-045: описание из обновление безопасности для драйверов режима ядра: 12 августа 2014 2970228 обновление для поддержки нового символа валюты российского рубля в окна августа накопительный пакет обновления 2975719 2014 г. для Windows RT 8.1, в окна 8.1 и Windows 2012 R2 сервера В августе накопительный пакет обновления 2975331 2014 г. для Windows RT и Windows 8 и Windows Server 2012 с

это условие может быть стойкие и могут помешать системе правильно начинать.

состояние Microsoft удалила ссылки на скачивание этих обновлений пока эти вопросы выясняются.

Комментарии (1)

Похоже, что проблема связана с обновлениями Windows, установленными 13 августа. Я попробовал удалить KB2982791, как предложил предыдущий пользователь, но это не устранило проблему. Однако удаление всех обновлений Windows от 13 августа устранило проблему.

Комментарии (0)

Если вы находитесь на Windows, я сделал ярлык на батник для запуска Делфи. В основном это пакетный файл, который изменяет имя `EditorLineEnds.ТТК на текущую дату времени, перемещает его в другую вложенную папку, а затем начинается Делфи.

Вот содержание моего пакетного сценария:

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\\AppData\Local\Temp\EditorLineEnds.ttr" (
  echo "Moving EditorLineEnds.ttr"
  MOVE "C:\Users\\AppData\Local\Temp\EditorLineEnds.ttr" "C:\Users\\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"
Комментарии (1)

То же самое для Делфи 2009 CodeGear на Windows 7

Обновление удаление следующих окон 2982791 2970228 не поможет.

Используя IDE пакета исправлений после того, что поможет.

Комментарии (0)

dzEditorLineEndsFix - не удается создать файл %Temp%\EditorLineEnd.ТТК

Это небольшая программа, которая исправляет проблему введены обновления Windows KB2982791 с Delphi 2006 по 2010 год, что приводит к ошибке "не удается создать файл %Temp%\EditorLineEnds.ТТК" в. Он работает путем перемещения файла в отдельный подкаталог, когда он создается.

Комментарии (0)

Я'м с помощью Windows 8, а не 8.1

Я отключил все обновления Windows, и вчера я проверил наличие обновлений и установите все обновления безопасности. Сегодня у меня такая же проблема, но никто из вышеперечисленных обновление было установлено на моем ноутбуке. Я посмотрел на все из них, но не нашел ни между установленными обновлениями безопасности:

KB2982791, KB2970228, KB2975719, KB2975331

Но я нашел еще одно обновление KB2993651 и попытался удалить его, процесс удаления был остановлен. Сбросить комп. Теперь я не могу найти это обновление, и проблема не решена.

Так что не найти другое решение и создал следующий скрипт, который я запускаю до открытия в RAD 2010.

cd %temp%
ren EditorLineEnds.ttr EditorLineEnds%RANDOM%.ttr

Я'm с %функция случайной%, потому что с фиксированным именем на второй раз переименованный файл также будет заблокирована и сценарий не удастся на переименование.

Комментарии (0)