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以下の解決策を試しましたが、同じファイルロックの問題がまだあります:
Windowsをゼロから再インストールし、Windowsの更新前にDelphiをインストールして、更新が本当に原因かどうかを確認します。現時点での私の回避策は、Delphiを起動する前にEditorLineEnds.ttrの名前を変更することです。
これには3つの解決策があります。
注:Microsoftは数日後にこの修正を取り消し、2014年8月27日に新しいKB2984615を発行しました。残念ながら、これで問題は解決しませんでした。 KB2982791を最初にアンインストールしてからKB2984615をインストールすると動作する可能性がありますが、試したことはありません。
私は 簡単なプログラム を書きました。これは私のために問題を解決します:
FindFirstChangeNotification/FindNextChangeNotificationを使用して、そのファイルが存在するかどうかを確認し、存在する場合は%temp%の一意のサブディレクトリに移動します。
ソースコードは利用可能です sourceforgeから 。
これは、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という名前が付けられました。
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を無効にして、新しいアップデートでは再度インストールされないようにします
Delphi 2007の場合、IDEFixPack 4.4をインストールし、次の環境変数をシステム設定に追加します。
IDEFixPack.DisabledPatches = DotNet.GlobalizationSearch
再起動すると動作するはずです。私はWin 8.1 Proを搭載した2つのデスクトップを持っていますが、その動作は魅力的です!
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用の更新プログラムのロールアップこの状態は永続的な場合があり、システムが正常に起動しない場合があります。
ステータス
マイクロソフトは、これらの問題の調査中に、これらの更新プログラムへのダウンロードリンクを削除しました。
問題は、8月13日にインストールされたWindows Updateにあるようです。前のポスターで提案されているように、KB2982791をアンインストールしようとしましたが、問題は解決しませんでした。ただし、8月13日からall Windowsアップデートをアンインストールすると、問題は解決しました。
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"
Windows 7上のCodeGear Delphi 2009でも同じ
次のWindowsアップデート2982791 2970228をアンインストールしても役に立ちません。
その後、IDE Fix Packを使用すると役立ちます。
dzEditorLineEndsFix-ファイル%Temp%\ EditorLineEnd.ttrを作成できません
これは、「ファイル%Temp%\ EditorLineEnds.ttrを作成できません」というエラーを引き起こす、Delphi 2006〜2010のWindowsアップデートKB2982791によって導入された問題を修正する小さなプログラムです。作成されるたびにファイルを独自のサブディレクトリに移動することで機能します。
8.1ではなくWindows 8を使用しています
すべてのWindows更新プログラムをオフにし、昨日、更新プログラムを確認し、すべてのセキュリティ更新プログラムをインストールしました。今日、私は同じ問題を抱えていますが、上記のアップデートはどれも私のノートブックにインストールされていません。私はそれらのすべてを探しましたが、インストールされたセキュリティ更新プログラムの間に何も見つかりませんでした:
KB2982791、KB2970228、KB2975719、KB2975331
しかし、別の更新プログラムKB2993651を見つけてアンインストールしようとすると、アンインストールプロセスが停止しました。コンプをリセットしました。今、私はこのアップデートを見つけることができず、問題は解決しませんでした。
したがって、別の回避策を見つけることができず、RAD 2010を開く前に実行する次のスクリプトを作成しました。
cd %temp%
ren EditorLineEnds.ttr EditorLineEnds%RANDOM%.ttr
2回目に固定名を使用すると、名前が変更されたファイルもロックされ、スクリプトは名前変更で成功しないため、%RANDOM%関数を使用しています。