Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel hilft Ihnen, das Problem zu beheben, bei dem Fehler beim Patchen von Microsoft .NET Framework auftreten, wenn Assemblys verwendet oder gesperrt werden, wenn ein Patch angewendet wird.
Originalproduktversion: .NET Framework
Ursprüngliche KB-Nummer: 2263996
Symptome
Wenn eine Assemblydatei im globalen Zugriffscache (Global Access Cache, GAC) gesperrt oder verwendet wurde, kann dies dazu führen, dass .NET Framework-Patches fehlschlagen. Dieses Problem kann durch einen Fehler verschlimmert werden, wie Fusion das Rollback verarbeitet und dazu führen kann, dass Dateien gelöscht werden. Dies führt dazu, dass verwaltete Anwendungen (von Frameworkassemblys abhängige Anwendungen) fehlschlagen.
Das fehlerhafte MSI-Protokoll "Verbose" kann etwa wie folgt enthalten:
"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\system.dll" aufgrund von Systemfehler:Access wird verweigert.
06/22/10 11:57:26 DDSet_Status: Schlafen 100 ms...
MSI (s) (54!70) [11:57:26:738]: Produkt: Microsoft .NET Framework 2.0 Service Pack 2 - Es gibt ein Problem mit diesem Windows Installer-Paket.
Weitere Informationen finden Sie im Setupprotokoll.
Es gibt ein Problem mit diesem Windows Installer-Paket.
Weitere Informationen finden Sie im Setupprotokoll.
06.22.10 11:57:26 DDSet_CARetVal: 0
06/22/10 11:57:26 DDSet_Exit: InstallAssembly endete mit Rückgabewert 1603
MSI (s) (54:94) [11:57:26:758]: Benutzerrichtlinienwert "DisableRollback" ist 0
MSI (s) (54:94) [11:57:26:758]: Computerrichtlinienwert "DisableRollback" ist 0
Die Aktion endete 11:57:26: InstallExecute. Rückgabewert 3.
Oder
02/22/10 08:38:32 DDSet_Status: Schlafen 100 ms...
22.02.10 08:38:32 DDSet_Error: Fehler beim Installieren der Assembly
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.EnterpriseServices.dll. IAssemblyCache-InstallAssembly>() zurückgegeben -2147024864.
22.02.10 08:38:32 DDSet_Error: Fehler beim Installieren der Assembly
"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.EnterpriseServices.dll" aufgrund eines Systemfehlers:
Der Prozess kann nicht auf die Datei zugreifen, da sie bereits von einem anderen Prozess verwendet wird.
Ursache
Wenn Assemblys verwendet oder gesperrt werden, wenn ein Patch angewendet wird, schlägt der Patch fehl.
Beschluss
Dieses Problem kann vermieden werden, indem sichergestellt wird, dass Prozesse nicht ausgeführt werden, die eine Sperre auf die Assemblys setzen können.
Führen Sie die folgenden Schritte aus, um zu ermitteln, ob Assemblys verwendet werden:
Laden Sie procexp.exe herunter, um den Prozess zu ermitteln, der Assemblys sperrt.
Starten Sie procexp.exe, und drücken Sie dann STRG+F, um das Suchfenster des Prozess-Explorers zu öffnen.
Geben Sie im Textfeld "Handle" oder "DLL-Teilzeichenfolge" assembly ein, und wählen Sie dann "Suchen" aus.
Alle aufgeführten Dateien können sich auf die Installation des Patches auswirken. Beenden Sie alle aufgelisteten Prozesse, oder schließen Sie die zugehörigen Anwendungen. Gehen Sie dazu wie folgt vor:
Wählen Sie den Prozessnamen aus, den Sie im Prozess-Explorer-Suchfenster beenden möchten, um den Prozess zu suchen.
Klicken Sie im Prozessbereich mit der rechten Maustaste auf den Prozessnamen.
Wählen Sie "Kill Process " aus, um den Prozess zu beenden.