![]() |
Komplettes Registry-Backup
Guten Morgen, :hi:
ich möchte gern ein komplettes Backup der gesamten Registry machen. Und da auf 2 Arten: Einmal wie man manuell aus der Registry machen kann, unter W2k heißt die Funktion "Registrierungsdatei exportieren" und auf die zweite Weise möchte ich das alle Registryeinträge in einem Textdokument gespeichert werden. Leider habe ich keine Ahnung wie man diese Funktionen der Registry aufruft (Das heißt, wie man einzelne Einträge aufruft weiß ich schon, aber wenn man das mit allen macht würde es wohl zu lange dauern). Kann mir jemand helfen ? |
Re: Komplettes Registry-Backup
so lange dauert das nicht. bei mir ~5 sekunden für eine resultierende textdatei von 38,5 MB.
(das *.reg file ist nix anderes als eine textdatei. deine zweite frage sollte sich also erübrigen) |
Re: Komplettes Registry-Backup
Zitat:
|
Re: Komplettes Registry-Backup
oh sorry das ist ja ne delphi-frage :roll:
das TRegistry-Objekt hat doch auch eine savetofile-methode, oder? |
Re: Komplettes Registry-Backup
Die erstellt eine .DAT-Datei (unter Win9x/ME) oder eine HIVE-Datei (unter Windows 2000/XP), keine Text-/.REG-Datei.
/edit: Auf der Basis dieser Funktion (bzw. der entsprechenden API-Funktion) basieren die Programme die die Registry defragmentieren. |
Re: Komplettes Registry-Backup
@Phistev
Wenn du mit "die" die reg.exe meinst: reg save erstellt eine Hive-Datei reg export erstellt eine .reg-Datei Unter 9x/Me gibt es meines wissens keine reg.exe PS: Unter 2000/XP sind die .reg-Dateien zwar Textdateien, aber sie liegen in Unicode vor, deshalb lassen sie sich nur mit entsprechenden Unicode-Komponenden (Z.B. TWideStringList) verarbeiten. |
Re: Komplettes Registry-Backup
mit die meinte ich die Funktion, unter Win9x/ME heißt's statt reg.exe regedit.exe (siehe auch mein erster Beitrag)
|
Re: Komplettes Registry-Backup
von exportieren würde ich abreiten, es kommt spätestens zu problemen wenn ein Value vom Typ "Zeischenfolge" exportiert wird welcher Zeilenumbrüche enthält. Wenn du später versuchst diesen String wieder in die Registry zu bekommen wirst du scheitern.
|
Re: Komplettes Registry-Backup
Das ist mir bis jetzt aber noch nicht in den WEg gekomen und ist auch sicher nicht zulässig. WEnns um Standard-Windows-Registrywerte oder eigene Einstellungen geht, dürfte dies kein Thema sein. Mehrzeilige String-Varaiablen werten als REG_MULTI_SZ gespeichert und sind durch #0 getrennt, als Text werden sie in Hexdezimalwerten exportiert.
|
Re: Komplettes Registry-Backup
@scp: Sag das mal den programmierern die sich nicht daran halten. Wenn aus Delphi heraus mir Registry.WriteString ein Wert in die Registry geschrieben wird (z.B.: Memo.Text) tritt nämlich genau der Fehler auf.
|
Re: Komplettes Registry-Backup
Genau das wollte ich ja verhindern :-D
|
Re: Komplettes Registry-Backup
Zitat:
Ok danke für eure Antworten, habs jetzt hinbekommen. |
Re: Komplettes Registry-Backup
Hallo :hi:,
kannst du vielleicht deine Lösung hier posten? Das wäre echt nett, das interessiert mich nämlich auch. ;) Thx und MfG freak :mrgreen: |
Re: Komplettes Registry-Backup
Nun, am einfachsten kommst Du weg, wenn Du einfach %SYSTEMROOT%+'\REGEDIT.EXE', '/e Zieldatei' aufrufen, mußt mal nach shellexec schauen, ansonsten schick ich dir auch gerne ne Methode shellexecandwait (aus irgendnem Forum...), damit klappts. Die resultierende Datei ist dann ne Textdatei (i.d.R. ne .REG).
Ich gehe mal davon aus, Du weißt, wie man Umgebungsvariablen ausliest mit Delphi ;-) Beispiel (hab Delphi grad nicht zur Hand, notfalls die Hilfe benutzen): shellexecandwait(SysPath+'REGEDIT.EXE', '/e C:\REG-BACKUP.REG'); dauert ein paar sek,danach findest Du die Datei dann im Root von C: . |
Re: Komplettes Registry-Backup
Hallo,
mache NIE ein Registry Backup mit dem Registry Editor weil 1. Bsp: Werte vor dem Export: DWORD: (1.wert) 56 Zeichenfolge: (2. wert) Hallo Dann erstellst du einen Wert dazu und änderst einen. Alle Werte: DWORD: (1.wert) 77 Zeichenfolge: (2. wert) Hallo DWORD: (3.wert) 0 Werte nach dem Import: DWORD: (1.wert) 56 Zeichenfolge: (2. wert) Hallo DWORD: (3.wert) 0 Du siehst: vorhandene Werte werden nicht gelöscht, wenn sie nicht in der REG Datei stehen! Zudem werden einige Werte überhaup nicht erst mitgespeichrt, oder wenn dies zufällig doch sein sollte werden sie nicht rückgespeichert, weil sie zu Laufzeit vom System benutzt werden! Z.B.: der Schlüssel SAM. Man hat nicht einmal Lesezugriff zur Laufzeit ... Florian |
Re: Komplettes Registry-Backup
Zitat:
Und wenn du meinst, daß Zeilen in REG-Scripten nicht sehr lang sein dürfen, auch dem ist nicht so, man kann sie umbrechen! Regedit.exe macht alles manuell, also wirst du nicht darum herumkommen es manuell zu machen, wenn du es so haben willst. BTW: Die Backup-APIs dürften unter NT übrigens bestimmte Privilegien erfordern. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz