web-dev-qa-db-fra.com

Erreur Delphi 2006-2010: "Impossible de créer le fichier C:\Utilisateurs\Admin\AppData\Local\Temp\EditorLineEnds.ttr"

J'obtiens une erreur après l'installation de Delphi 2007 (Edit: ce problème se produit dans toutes les versions de Delphi de 2006 à 2010) que je ne peux pas comprendre et que je n'ai jamais vue auparavant. Après avoir redémarré, je peux lancer le programme sans aucun problème, mais si je devais fermer le programme et recommencer, cela me donnerait l'erreur suivante: 

"Impossible de créer le fichier C:\Utilisateurs\Admin\AppData\Local\Temp\EditorLineEnds.ttr". Le processus ne peut accéder au fichier car il est utilisé par un autre processus. "

"System" a un handle sur ce fichier qui ne peut pas être effacé à moins que je ne redémarre. Je peux également corriger le problème en renommant le fichier avant de lancer le programme. 

J'ai essayé de réinstaller le programme sans succès. 

Version installée: CodeGear ™ Delphi® 2007 pour Win32® R2 version 11.0.2902.10471. Système d'exploitation: Windows 7 Pro 64bit

Update 08/14 13:35 EDT Vous avez essayé les solutions suivantes, mais vous rencontrez toujours le même problème de verrouillage de fichier: 

  1. Le répertoire temporaire renommé en un répertoire que je connais possédait des droits de sécurité complets. Les fichiers seraient créés dans ce répertoire lors du lancement de Delphi, mais EditorLineEnds.ttr serait toujours verrouillé par SYSTEM et m'empêcherait de le relancer.
  2. Désinstallez les mises à jour de sécurité suivantes KB2982791 et KB2976897, mais cela n'a pas résolu le problème. J'ai supprimé les mises à jour Windows pour l'instant et je vais essayer de désinstaller tous les correctifs de sécurité pour 8/13. 
  3. Désinstallez complètement Delphi et réinstallez-le. Le problème persiste après avoir tout réinstallé. 

Je vais essayer de réinstaller Windows à partir de zéro et installer Delphi avant les mises à jour Windows Pour voir si les mises à jour en sont réellement la cause. Pour l’instant, ma solution consiste à renommer EditorLineEnds.ttr avant de lancer Delphi.

54
M Schenkel

À ma connaissance, il existe trois solutions à ce problème:

  1. Essayez de désinstaller la mise à jour de sécurité Windows KB2982791 déjà mentionnée par Francisco Caffagni. Le problème a été résolu pour moi (Windows 8.1 + Delphi 2007), mais le fait de désinstaller une mise à jour de sécurité Windows n'est peut-être pas une bonne idée.
  2. Renommez le fichier à chaque démarrage de Delphi. Voir ci-dessous pour un programme simple qui le fait pour vous.
  3. Utilisez IdeFixpack d'Andreas Hausladen ( Delphi 2007 version , sachez que la version 4.4 ne fonctionne pas sous Windows 8, la version 4.3 semble fonctionner), ( pour les versions ultérieures de Delphi ) Notez que la L'option d'éditeur, Show Lineends, utilisera un caractère différent si vous utilisez cette correction, car IDE ne charge plus la police EditorLineEnds.ttr. (Les solutions 1 et 2 ne présentent pas cet inconvénient, mais qui utilise cette option de toute façon?)

Remarque: Microsoft a retiré ce correctif quelques jours plus tard et en a publié un nouveau KB2984615 le 2014-08-27. Malheureusement, cela n'a pas résolu le problème pour moi. Peut-être que désinstaller d'abord KB2982791 puis installer KB2984615 pourrait fonctionner, mais je ne l'ai pas essayé.

J'ai écrit un programme simple , qui résout le problème pour moi:

Il utilise FindFirstChangeNotification/FindNextChangeNotification et vérifie si ce fichier existe et si oui, le déplace vers un sous-répertoire unique dans% temp%.

Téléchargement binaire

Le code source est disponible de sourceforge .

42
dummzeuch

C'est mon script bds_start.bat qui exécute Delphi2006 sur un système Win7-64bit. J'ai personnalisé la réponse GabeMeister et un script similaire trouvé dans l'un des liens. Je peux maintenant redémarrer DelphiIDE sans redémarrer. Tous les fichiers temporaires ttr sont toujours verrouillés par le système, donc la commande del peut ne pas fonctionner. Ils sont supprimables une fois le système redémarré.

Il est toutefois impossible de redémarrer Delphi en double-cliquant sur les fichiers du projet myproject.dpr. J'avais peur d'installer IDEFixPack pour D2006 car l'un des commentaires ne promettait pas que cela fonctionnerait.

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

En cours d’exécution de CBuilder, remplacez l’argument par -pCBuilder. La meilleure solution serait peut-être de créer l’outil de remplacement de bds.exe, le fichier del/move * .ttr, l’exécution et le passage d’arguments cmd au fichier bds_original.exe d’origine. Cela devrait permettre le redémarrage en double-clic * .dpr. Ou utilisez BdsLauncher.exe qui, à mon avis, est regedit lié à l’extension * .dpr. La liste de processus avait alors le nom bds.exe.

6
Whome

Voici une autre solution de contournement de http://www.danielmagin.de/blog/index.php/2014/08/windows-update-disable-delphi-2007-2010/

Citation:

vous pouvez revenir facilement en arrière de deux manières

1: créer un fichier batch avec les lignes suivantes
wusa/uninstall/kb: 2982791
wusa/uninstall/kb: 2970228
ce fichier de commandes que vous exécutez au démarrage de Windows. mais avec mise à jour automatique les deux mises à jour installe à chaque fois 

2: désactiver les KB de la mise à jour automatique
après la mise à jour, allez à WindowsUpdates dans votre système. désactiver les deux mises à jour de la base de connaissances, ce ne sera pas installé à nouveau

3
Erik Virtel

Pour Delphi 2007, installez IDEFixPack 4.4 et ajoutez la variable d’environnement suivante aux paramètres système:

IDEFixPack.DisabledPatches = DotNet.GlobalizationSearch 

Redémarrez et cela devrait fonctionner. J'ai 2 ordinateurs de bureau avec Win 8.1 Pro et ça marche comme un charme!

3
Julio Furquim

Signalons simplement que la mise à jour KB2982791 a été retirée par Microsoft. Les raisons invoquées semblent être des problèmes de rendu des polices et de plantage du système et non pas un problème spécifique qui, à première vue, semble être la faute de Delphi et est simplement exacerbé par la mise à jour.

L'article de la Base de connaissances sur le site de Microsoft a été mis à jour: http://support.Microsoft.com/kb/2982791

Plus précisément, ces sections présentent un intérêt:

Problème connu 2
Microsoft étudie le comportement des polices ne pas rendre correctement après l'installation de l'une des mises à jour suivantes:
2982791 MS14-045: Description de la mise à jour de sécurité pour le mode noyau conducteurs: 12 août 2014
2970228 Mise à jour pour prendre en charge la nouvelle devise symbole pour le rouble russe sous Windows
2975719 Mise à jour d’août 2014 cumulatif pour Windows RT 8.1, Windows 8.1 et Windows Server 2012 R2
2975331 correctif cumulatif pour août 2014 pour Windows RT, Windows 8 et Windows Server 2012 

Statut
Microsoft a supprimé les liens de téléchargement vers ces mises à jour pendant que ces problèmes sont examinés.

Problème connu 3
Microsoft étudie le comportement dans lequel des systèmes peuvent se bloque avec un message d'erreur Stop 0x50 (vérification d'erreur) après l'un des Les mises à jour suivantes sont installées:
2982791 MS14-045: Description du Mise à jour de sécurité pour les pilotes en mode noyau: 12 août 2014
2970228 Mise à jour pour prendre en charge le nouveau symbole monétaire du rouble russe en les fenêtres
2975719 correctif cumulatif pour août 2014 pour Windows RT 8.1, Windows 8.1 et Windows Server 2012 R2
2975331 correctif cumulatif d'août 2014 pour Windows RT, Windows 8 et Windows Server 2012 

Cette condition peut être persistante et peut empêcher le système de démarrer correctement.

Statut
Microsoft a supprimé les liens de téléchargement vers ces mises à jour pendant que ces questions sont à l'étude.

2
Toby Groves

Le problème semble être lié aux mises à jour Windows installées le 13 août . J'ai essayé de désinstaller KB2982791 comme suggéré par l'affiche précédente, mais cela n'a pas résolu le problème . Désinstaller toutes guérir le problème cependant.

1
Peter Goodland

Si vous êtes sur Windows, j'ai créé un raccourci de fichier de commandes pour démarrer Delphi. En gros, il s’agit d’un fichier de commandes qui modifie le nom de EditorLineEnds.ttr avec la date et l’heure actuelles, le déplace dans un autre sous-dossier, puis démarre Delphi.

Voici le contenu de mon script batch:

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

Même chose pour CodeGear Delphi 2009 sous Windows 7

La désinstallation suivante de Windows mise à jour 2982791 2970228 ne vous aidera pas.

L'utilisation du groupe de correctifs IDE par la suite vous aidera.

1
Zam

dzEditorLineEndsFix - Impossible de créer le fichier% Temp%\EditorLineEnd.ttr

Il s’agit d’un petit programme qui résout le problème introduit par la mise à jour Windows KB2982791 avec Delphi 2006-2010 qui provoque l’erreur "Impossible de créer le fichier% Temp%\EditorLineEnds.ttr" . Il fonctionne en déplaçant le fichier vers son propre sous-répertoire à chaque création.

1
onerkaya

J'utilise Windows 8, pas 8.1

J'ai désactivé toutes les mises à jour Windows et hier, j'ai vérifié les mises à jour et installé toutes les mises à jour de sécurité. Aujourd'hui, j'ai le même problème, mais aucune des mises à jour mentionnées ci-dessus n'a été installée sur mon ordinateur portable . Je les ai toutes recherchées, mais je n'en ai trouvé aucune entre les mises à jour de sécurité installées:

KB2982791, KB2970228, KB2975719, KB2975331

Mais j'ai trouvé une autre mise à jour KB2993651 et j'ai essayé de la désinstaller, le processus de désinstallation a été interrompu. Je réinitialise ma composition. Maintenant, je ne trouve pas cette mise à jour et le problème n’a pas été résolu.

Donc, n'a pas trouvé une autre solution de contournement et a créé le script suivant, que je lance avant d'ouvrir RAD 2010.

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

J'utilise la fonction% RANDOM%, car avec le nom fixe la deuxième fois, le fichier renommé sera également verrouillé et le script ne pourra pas être renommé.

0
Jeff_Alieffson