Wie ersetze ich eine verwendete DLL?
Dynamic-Link-Bibliotheksaktualisierungen
Es ist manchmal notwendig, eine DLL durch eine neuere Version zu ersetzen. Führen Sie vor dem Ersetzen einer DLL eine Versionsprüfung durch, um sicherzustellen, dass Sie eine ältere Version durch eine neuere Version ersetzen. Es ist möglich, eine verwendete DLL zu ersetzen. Die Methode, mit der Sie die verwendeten DLLs ersetzen, hängt vom verwendeten Betriebssystem ab. Unter Windows XP und höher sollten Anwendungen isolierte Anwendungen und Side-by-Side-Assemblies verwenden .
Es ist nicht erforderlich, den Computer neu zu starten, wenn Sie die folgenden Schritte ausführen:
- Verwenden Sie die
MoveFileEx
Funktion, um die ersetzte DLL umzubenennen. Geben Sie nicht anMOVEFILE_COPY_ALLOWED
und stellen Sie sicher, dass sich die umbenannte Datei auf demselben Volume befindet, auf dem sich die Originaldatei befindet. Sie können die Datei auch einfach im selben Verzeichnis umbenennen, indem Sie sie mit einer anderen Erweiterung versehen.- Kopieren Sie die neue DLL in das Verzeichnis, das die umbenannte DLL enthält. Alle Anwendungen verwenden jetzt die neue DLL.
- Verwenden Sie
MoveFileEx
mitMOVEFILE_DELAY_UNTIL_REBOOT
, um die umbenannte DLL zu löschen.Bevor Sie diesen Ersatz vornehmen, verwenden Anwendungen die ursprüngliche DLL, bis sie entladen wird. Nach dem Ersetzen verwenden Anwendungen die neue DLL. Wenn Sie eine DLL schreiben, müssen Sie darauf achten, dass sie auf diese Situation vorbereitet ist, insbesondere wenn die DLL Informationen zum globalen Status enthält oder mit anderen Diensten kommuniziert. Wenn die DLL nicht für eine Änderung der Informationen zum globalen Status oder der Kommunikationsprotokolle vorbereitet ist, müssen Sie beim Aktualisieren der DLL den Computer neu starten, um sicherzustellen, dass alle Anwendungen dieselbe Version der DLL verwenden.
Aktualisierungen der Source Dynamic Link Library (Windows)
So ersetzen Sie verwendete Dateien beim Neustart von Windows
Dieser Artikel beschreibt eine andere Methode, mit der Sie Dateien ersetzen können, die von Windows verwendet werden. Diese Methode verwendet die Registrierung, um eine Datei beim Start zu ersetzen, bevor Windows auf die Datei zugreift.
Die folgenden Schritte zeigen, wie die Win32k.sys-Datei in dem
%SystemRoot%\System32
Ordner durch die Win32k.sys-Datei ersetzt wird, die sich in dem Ordner C: \ Temp befindet. Sie können Variationen dieser Methode verwenden, um Dateien zu ersetzen, wenn Ihre Windows-Installation startfähig ist.
- Starten Sie den Registrierungseditor (Regedt32.exe).
- Suchen Sie den folgenden Schlüssel in der Windows-Registrierung:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
- Erstellen Sie einen neuen Wert, indem Sie die folgenden Informationen verwenden:
- Wertname: PendingFileRenameOperations
- Datentyp :
REG_MULTI_SZ
- Wertdaten: \\ \ c: \ temp \ win32k.sys! \\ \ c: \ winnt \ system32 \ win32k.sys
- Beachten Sie, dass die Wertdaten in zwei separaten Zeilen eingegeben werden.
- Beenden Sie den Registrierungseditor.
- Starte den Computer neu.
Quelle Ersetzen der verwendeten Dateien beim Neustart von Windows