web-dev-qa-db-ja.com

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 forWin32®R2バージョン11.0.2902.10471。オペレーションシステム:Windows 7 Pro 64bit

更新08/14 13:35 EDT以下の解決策を試しましたが、同じファイルロックの問題がまだあります:

  1. 一時ディレクトリの名前を、完全なセキュリティ権限があるとわかっているディレクトリに変更しました。 Delphiを起動すると、このディレクトリにファイルが作成されますが、EditorLineEnds.ttrはまだSYSTEMによってロックされ、再起動できません。
  2. 次のセキュリティ更新プログラムKB2982791およびKB2976897をアンインストールしましたが、これで問題は解決しませんでした。今のところWindowsの更新を抑制していますが、8/13のすべてのセキュリティパッチをアンインストールしてみます。
  3. Delphiを完全にアンインストールし、再インストールしました。すべてを再インストールした後も問題が発生します。

Windowsをゼロから再インストールし、Windowsの更新前にDelphiをインストールして、更新が本当に原因かどうかを確認します。現時点での私の回避策は、Delphiを起動する前にEditorLineEnds.ttrの名前を変更することです。

54
M Schenkel

これには3つの解決策があります。

  1. Francisco Caffagniが既に言及したWindowsセキュリティ更新プログラムKB2982791をアンインストールしてみてください。これで問題は解決しました(Windows 8.1 + Delphi 2007)が、Windowsセキュリティ更新プログラムをアンインストールするのはあまり良い考えではないかもしれません。
  2. Delphiを起動するたびにファイルの名前を変更します。あなたのためにそれを行う簡単なプログラムについては、以下を参照してください。
  3. Andreas HausladenのIdeFixpackを使用してください( Delphi 2007バージョンバージョン4.4はWindows 8では動作しないことに注意してください、バージョン4.3は動作しているようです)、( Delphi以降のバージョンの場合 )IDEはEditorLineEnds.ttrフォントをロードしないため、この修正を使用する場合、エディターオプションShow Lineendsは異なる文字を使用することに注意してください。もう。 (ソリューション1と2にはこの欠点はありませんが、とにかく誰がそのオプションを使用しますか?)

注:Microsoftは数日後にこの修正を取り消し、2014年8月27日に新しいKB2984615を発行しました。残念ながら、これで問題は解決しませんでした。 KB2982791を最初にアンインストールしてからKB2984615をインストールすると動作する可能性がありますが、試したことはありません。

私は 簡単なプログラム を書きました。これは私のために問題を解決します:

FindFirstChangeNotification/FindNextChangeNotificationを使用して、そのファイルが存在するかどうかを確認し、存在する場合は%temp%の一意のサブディレクトリに移動します。

バイナリダウンロード

ソースコードは利用可能です sourceforgeから

42
dummzeuch

これは、Win7-64bitシステムでDelphi2006を実行しているbds_start.batスクリプトです。 GabeMeisterの回答と、リンクの1つにある同様のスクリプトをカスタマイズしました。再起動せずにDelphiIDEを再起動できるようになりました。すべてのttr一時ファイルはまだシステムによってロックされているため、delコマンドが機能しない場合があります。システムを再起動すると削除可能になります。

ただし、myproject.dprプロジェクトファイルをダブルクリックしてDelphiを再起動することはできません。コメントの1つが機能すると約束していなかったため、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置換ツール、del/move * .ttrファイルを作成し、cmd引数を実行して元のbds_original.exeファイルにパススルーすることです。これにより、*。dprのダブルクリックによる再起動が有効になります。または、BdsLauncher.exeを使用します。これは、*。dpr拡張子にregeditリンクされていると思います。その後、プロセスリストにはbds.exeという名前が付けられました。

6
Whome

http://www.danielmagin.de/blog/index.php/2014/08/windows-update-disable-delphi-2007-2010/ からの別の回避策があります

見積もり:

2つの方法で簡単にロールバックできます

1:次の行でバッチファイルを作成します
wusa/uninstall/kb:2982791
wusa/uninstall/kb:2970228
Windowsの起動時に実行するこのバッチファイル。ただし、自動更新では、両方の更新が毎回インストールされます

2:自動更新からKBを無効にします
更新後、システムのWindowsUpdateに移動します。両方のKBを無効にして、新しいアップデートでは再度インストールされないようにします

3
Erik Virtel

Delphi 2007の場合、IDEFixPack 4.4をインストールし、次の環境変数をシステム設定に追加します。

IDEFixPack.DisabledPatches = DotNet.GlobalizationSearch

再起動すると動作するはずです。私はWin 8.1 Proを搭載した2つのデスクトップを持っていますが、その動作は魅力的です!

3
Julio Furquim

KB2982791の更新プログラムがMicrosoftによって廃止されたことを指摘するだけです。引用された理由は、フォントのレンダリングとシステムのクラッシュの問題であるように見えますが、この特定の問題は、一見するとDelphiのせいであり、更新によって単に悪化しているだけです。

MicrosoftサイトのKB記事が更新されました: http://support.Microsoft.com/kb/2982791

特に、これらのセクションは重要です:

既知の問題2
Microsoftは、次の更新プログラムのいずれかがインストールされた後、フォントが正しくレンダリングされない動作を調査しています。
2982791 MS14-045:カーネルモードドライバーのセキュリティ更新プログラムの説明:2014年8月12日
2970228 Windowsのロシアルーブルの新しい通貨記号をサポートするための更新
2975719 2014年8月Windows RT 8.1、Windows 8.1、およびWindows Server 2012 R2の更新プログラムのロールアップ
2975331 2014年8月、Windows RT、Windows 8、およびWindows Server 2012用の更新プログラムのロールアップ

ステータス
マイクロソフトは、これらの問題の調査中に、これらの更新プログラムへのダウンロードリンクを削除しました。

既知の問題3
Microsoftは、次のアップデートのいずれかがインストールされた後、システムが0x50 Stopエラーメッセージ(バグチェック)でクラッシュする可能性がある動作を調査しています。
2982791 MS14-045:カーネルモードドライバーのセキュリティ更新プログラムの説明:2014年8月12日
2970228 Windowsのロシアルーブルの新しい通貨記号をサポートするための更新
2975719 2014年8月Windows RT 8.1、Windows 8.1、およびWindows Server 2012 R2の更新プログラムのロールアップ
2975331 2014年8月、Windows RT、Windows 8、およびWindows Server 2012用の更新プログラムのロールアップ

この状態は永続的な場合があり、システムが正常に起動しない場合があります。

ステータス
マイクロソフトは、これらの問題の調査中に、これらの更新プログラムへのダウンロードリンクを削除しました。

2
Toby Groves

問題は、8月13日にインストールされたWindows Updateにあるようです。前のポスターで提案されているように、KB2982791をアンインストールしようとしましたが、問題は解決しませんでした。ただし、8月13日からall Windowsアップデートをアンインストールすると、問題は解決しました。

1
Peter Goodland

Windowsを使用している場合、Delphiを起動するためのバッチファイルショートカットを作成しました。基本的には、EditorLineEnds.ttrの名前を現在の日時に変更し、別のサブフォルダーに移動してからDelphiを起動するバッチファイルです。

バッチスクリプトの内容は次のとおりです。

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"
1
GabeMeister

Windows 7上のCodeGear Delphi 2009でも同じ

次のWindowsアップデート2982791 2970228をアンインストールしても役に立ちません。

その後、IDE Fix Packを使用すると役立ちます。

1
Zam

dzEditorLineEndsFix-ファイル%Temp%\ EditorLineEnd.ttrを作成できません

これは、「ファイル%Temp%\ EditorLineEnds.ttrを作成できません」というエラーを引き起こす、Delphi 2006〜2010のWindowsアップデートKB2982791によって導入された問題を修正する小さなプログラムです。作成されるたびにファイルを独自のサブディレクトリに移動することで機能します。

1
onerkaya

8.1ではなくWindows 8を使用しています

すべてのWindows更新プログラムをオフにし、昨日、更新プログラムを確認し、すべてのセキュリティ更新プログラムをインストールしました。今日、私は同じ問題を抱えていますが、上記のアップデートはどれも私のノートブックにインストールされていません。私はそれらのすべてを探しましたが、インストールされたセキュリティ更新プログラムの間に何も見つかりませんでした:

KB2982791、KB2970228、KB2975719、KB2975331

しかし、別の更新プログラムKB2993651を見つけてアンインストールしようとすると、アンインストールプロセスが停止しました。コンプをリセットしました。今、私はこのアップデートを見つけることができず、問題は解決しませんでした。

したがって、別の回避策を見つけることができず、RAD 2010を開く前に実行する次のスクリプトを作成しました。

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

2回目に固定名を使用すると、名前が変更されたファイルもロックされ、スクリプトは名前変更で成功しないため、%RANDOM%関数を使用しています。

0
Jeff_Alieffson