Ich muss eine bestimmte DLL auf meinem Windows 7-Computer umbenennen (genauer gesagt eine comctl32.dll), um sie durch eine andere Version dieser Datei zu ersetzen.
Ich habe es versucht:
- [unter: Rechtsklick, Eigenschaften, Sicherheit, Berechtigungen, Erweitert, Besitzer] Besitzer zum aktuellen Benutzer geändert und [unter: Rechtsklick, Sicherheit] dem aktuellen Benutzer alle möglichen Berechtigungen erteilt. Habe [Rechtsklick, Umbenennen] versucht – kann es nicht umbenennen, Zugriff verweigert.
Habe einen Administratorbefehl (erhöhte Rechte) gestartet und die folgende Kraft angewendet:
takeown /f comctl32.dll icacls "comctl32.dll" /grant (current user):F rename comctl32.dll comctl32.old
Die Berechtigung wurde verweigert.
- Das hat mich wütend gemacht und ich habe eine Shell als Systembenutzer gestartet (nach den in [1] beschriebenen Schritten) und versucht, die Datei
rename comctl32.dll comctl32.old
in dieser Shell umzubenennen. Das Ergebnis war wieder eine verweigerte Berechtigung.
Ich dachte, die System-Shell gibt mir im Grunde den Gott-Modus, also ist das ziemlich ärgerlich! Hat jemand weitere Vorschläge, wie ich diese Datei umbenennen kann oder was mir den Zugriff verweigert? Ich bin völlig ratlos!
//EDIT:
Inzwischen habe ich auch das Unlocker-Tool ausprobiert. Es konnte die Datei nicht umbenennen, versprach aber, es nach dem Neustart zu versuchen. Ich habe das System neu gestartet, aber mein alter Freund hat die Namen immer noch nicht geändert.
//EDIT 2:
Aufgrund der Downvotes und Kommentare möchte ich eine Warnung für meine Mitbenutzer mit derselben Frage hinzufügen. Tun Sie dies nur, wenn Sie wissen, was und warum Sie es tun. Andernfalls könnte Ihr System abstürzen.
Ich weiß tatsächlich, was ich tue: Ich muss eine Datei ersetzen, die bereits beschädigt ist. Was ich nicht weiß, ist, WIE ich das mache. Es besteht also keine Notwendigkeit, die Gefahren hier zu erwähnen oder die Frage herunterzustimmen, nur weil siekönnteeine Gefahr für die Systemintegrität darstellen. Tatsächlich ist allein die Nutzung eines Systems eine Gefahr für dessen Integrität. Warum sollte man eine berechtigte Frage für dieselbe Eigenschaft bestrafen?
Antwort1
Sie können nicht darauf zugreifen (unabhängig von Ihren Berechtigungen), da Windows selbst es für seinen Betrieb verwendet.
Booten Sie von einem anderen Betriebssystem (beispielsweise einer Linux-Live-CD oder einer Windows-Installationsdiskette) und benennen Sie es von dort aus um.
Warnung: Das ist wirklich keine gute Idee und kann dazu führen, dass Ihr Windows nicht mehr startet. Stellen Sie sicher, dass Sie zuerst eine vollständige Sicherung erstellen.
Antwort2
Wenn die Datei vom Kernel verwendet wird, können Sie sie nicht umbenennen, ohne sie zuerst aus dem Speicher zu entladen, z. B. indem Sie die Windows-Wiederherstellungskonsole zum Umbenennen verwenden.
Wenn die Datei nicht von einem Prozess verwendet wird, können Sie sie möglicherweise umbenennen. Der Windows-Dateischutz erstellt jedoch möglicherweise eine Kopie mit dem Originalnamen oder benennt sie wieder zurück.
Der schnellste Weg, den Windows-Dateischutz teilweise zu deaktivieren, besteht darin, die folgende Datei zu löschen:
C:/windows/system32/restore/filelist.xml
Ich rate Ihnen, sofern es sich nicht um eine Testinstallation des Betriebssystems handelt, die Datei, die Sie umbenennen möchten, zunächst zu sichern. Sie können sie aber auch einfach aus der Binärdatei auf der Windows-CD entpacken:
expand -r filename.dl_ C:/windows/system32
Dadurch wird die Datei „filename.dll“ in System32 erstellt. Natürlich müssen Sie „filename“ durch den Dateinamen der DLL ersetzen.
Alternativ können Sie debug.exe verwenden, um den Windows-Dateischutz zu deaktivieren, aber das ist viel riskanter und dauert etwa eine halbe Stunde