Warum muss ich DLLs neu registrieren?

Warum muss ich DLLs neu registrieren?

Ich habe vor kurzem eine Partition geklont mitWindows 7darauf. In der Hoffnung, dass es gut funktionieren würde, bootete ich es erfolgreich und konnte es zum Laufen bringen, allerdings bekam ich etwas wie "Schnittstelle nicht unterstützt" beim Ausführen einiger Anwendungen und.NETZwurde berichtet, dass es in einigen Programmen fehlte.

Ich habe gegoogelt und herausgefunden, dass es etwas mit „Registrieren von DLLs". Also, meine Frage: Als ich die Partition auf meiner Festplatte geklont habe, wurde keine perfekte Kopie davon erstellt. Wenn ja, warum musste ich dann „DLLs erneut registrieren“? Wenn nicht, erklären Sie es mir.

Antwort1

Wenn sich der Laufwerksbuchstabe der Systempartition nach dem Klonvorgang ändert, werden alle Apps, die auf fest codierte Pfade zu DLLs und anderen Dateien angewiesen sind, natürlich beschädigt. Es gibt APIs wie GetWindowsDirectory(), SHGetKnownFolderPath(), SHGetSpecialFolderPath(), Environment.GetFolderPath() usw., die Programmierer verwenden sollten, es aber manchmal nicht tun.

Auch Apps, die aus Lizenzierungs-/Piraterieschutzgründen die GUID des Volumes speichern, auf dem sie installiert sind, können kaputtgehen. In solchen Fällen gibt es keine einfache Lösung, außer die App, wenn möglich, neu zu registrieren.

verwandte Informationen