AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Windows 10 und System Restore

Ein Thema von Shark99 · begonnen am 18. Mär 2017 · letzter Beitrag vom 21. Mär 2017
Antwort Antwort
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#1

AW: Windows 10 und System Restore

  Alt 18. Mär 2017, 19:49
@t.roller

Der Code den du gepostet hast ist der meiner Methode 3 mit zwei Zeilen Unterschied (CoInitialize(nil); und CoUninitialize identisch. Ich habe den Code aus der gleichen Quelle wie du, aber die zwei Zeilen beim Schritt von 0.2 -> 0.3 rausgenommen, weil sie unter Win 10 keinen Unterschied machten (sind bei 0.4 wieder drin).

Zusätzlich, um ganz sicher zu gehen habe ich deinen Code ohne Änderungen kompiliert als CreateRestorePoint.exe und RestorePoint.exe. Unter Win 7 und Win 10 mit UAC aus getestet. Geht problemlos.

Danach die Win10 VM zurückgesetzt auf dem Stand kurz nach der Installation. Die beiden Exes hinkopiert und dann zwei Videos erstellt.

Video 1 (restore_delphi.mp4): https://www.dropbox.com/s/xn6n8bhlpt...elphi.mp4?dl=0

- cmd.exe wird mit Adminrechten geöffnet
- CreateRestorePoint.exe werkelt 5 Sekunden lang mit viel IO Aktivität, meldet dann eine 0
- RestorePoint.exe hängt, da es keinen Restorepunkt gibt
- Ich zeige dann noch in der Windows UI dass wirklich kein Punkt erstellt wurde

Video 2 (restore_manual.mp4): https://www.dropbox.com/s/iqu4nn9iz7...anual.mp4?dl=0

- in dem zweiten Video welches kurz danach erstellt wurde zeige ich dass mit Windows 10 Boardmitteln man problemlos einen Wiederherstellunbgspunkt erstellen kann und RestorePoint.exe diesen auch anzeigt
- Habe nach dem Video sofort wieder einen zweiten erstellt und das funktionierte auch (also kein 24h Limit bei den Boardmitteln)

Es funktioniert also leider vorne und hinten nicht.

Was mir aufgefallen ist dass die mit Boardmitteln erstellten Punkte immer vom Typ Manuell sind. Die von SystemRestoreTest erstellten vom Typ Installation. Vielleicht ist das der Schlüssel zum erfolgt. Ich habe deshalb dwRestorePtType geändert, BACKUP_RECOVERY, MODIFY_SETTINGS, und CHECKPOINT ändert die Sache aber von Installation auf System, nicht auf Manuell.

Angehängt: Die zwei Projekte mit Code von t.roller inkl vorkompilierten Exes, Version 0.4 von SystemRestoreTest mit diesen Änderungen:
Delphi-Quellcode:
initialization
  //CoInitializeEx(0, COINIT_MULTITHREADED);

  CoInitialize(nil);

finalization
  CoUninitialize;

@Der schöne Günther

Danke für die Info. Es ist ja merkwürdig dass es diese Einschränkung nicht gibt wenn man die Wiederherstellungspunkte unter Windows 7, oder unter Windows 10 mit UAC aus erstellt. Da gehen beliebig viele mit gleichen Code. Ich werde mehr danach googeln. Was auch sehr merkwürdig ist dass es öfters Marshalling Fehler gibt beim InitializeCOMSecurity(). Wenn so ein Fehler kommt startet man die App neu und danach ist er meistens nicht mehr da.
Angehängte Dateien
Dateityp: rar CreateRestorePoint.rar (48,4 KB, 13x aufgerufen)
Dateityp: rar RestorePoint.rar (47,2 KB, 11x aufgerufen)
Dateityp: rar SystemRestoreTest.rar (244,8 KB, 16x aufgerufen)

Geändert von Shark99 (19. Mär 2017 um 18:33 Uhr)
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
981 Beiträge
 
Delphi 6 Professional
 
#2

AW: Windows 10 und System Restore

  Alt 18. Mär 2017, 20:00
Hmm..

ALSO:
Das mit einer Sicherung alle 24 h ist ab Windows 8 von MS eingebaut worden!
Damit es öfter geht, muss ein Registry-Eintrag erstellt werden!

https://msdn.microsoft.com/de-de/lib...(v=vs.85).aspx

Und da scheint es egal, welche deiner Versionen du verwendest!
  Mit Zitat antworten Zitat
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#3

AW: Windows 10 und System Restore

  Alt 18. Mär 2017, 20:05
Ja, das habe ich ja gelesen nachdem Der schöne Günther den Link gepostet hat.

Die Boardmittel scheinen diese Einschränkung nicht zu haben, auch ohne die Registry Änderung.

Die Erstellung von nur einem einzigen Punkt (also 24h Limit greift nicht) ist sehr unzuverlässig, d.h. funktioniert öfters gar nicht unter Windows 10. Siehe die Videos weiter oben. Ich denke da ist der Code noch wo Fehlerhaft. Wahrscheinlich ein CoInitializeSecurity() Problem oder irgendwas mit BEGIN_SYSTEM_CHANGE | END_SYSTEM_CHANGE. UAC aus scheint alle Probleme zu beheben, es ist aber ja keine Lösung.

Edit: Wenn man innerhalb von der 24h Einschränkung ist meldet CreateRestorePoint() immer einen Success. Es wird aber kein Restore Point erstellt. Welcher Komiker von MS hat sich sowas einfallen lassen?

Geändert von Shark99 (18. Mär 2017 um 20:14 Uhr)
  Mit Zitat antworten Zitat
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#4

AW: Windows 10 und System Restore

  Alt 19. Mär 2017, 02:36
Mit MANUAL_CHECKPOINT = 16 kann man Checkpoints erstellen die als Manuell angezeigt werden. Allerdings hat es bei der 24h Sperre nicht geholfen.
  Mit Zitat antworten Zitat
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#5

AW: Windows 10 und System Restore

  Alt 19. Mär 2017, 03:39
Der Text aus MSDN:

Developers can write applications that create the DWORD value SystemRestorePointCreationFrequency under the registry key HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore. The value of this registry key can change the frequency of restore point creation. The value of this registry key can change the frequency of restore point creation.

If the application calls CreateRestorePoint to create a restore point, and the registry key value is 0, system restore does not skip creating the new restore point.


Ich habe den Wert in der Registry der Win 10 VM erstellt und neu gebooted.
Delphi-Quellcode:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore]
"SystemRestorePointCreationFrequency"=dword:00000000
Die Sache läuft danach besser aber nicht rund. Ich konnte mit der Methode #2 drei verschiedene Wiederherstellungspunkte erstellen. Alle zwei Minuten einen. Danach war Schluss. Egal was ich installiert oder deinstalliert habe, einen vierten konnte ich nicht erstellen. Windows werkelt bis zu 10 Sekunden mit hoher IO Last, dann kommt ein SUCCESS, aber der Punkt ist nicht vorhanden. Auch nach einem Reboot nicht. Ein manuell erstellter Punkt über die Windows GUI ist immer da.

Ich gebe nun erstmals auf.

Geändert von Shark99 (19. Mär 2017 um 03:46 Uhr)
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
981 Beiträge
 
Delphi 6 Professional
 
#6

AW: Windows 10 und System Restore

  Alt 19. Mär 2017, 06:13
Hmm..


Hatte da mal was gelesen, das Windows die Systemdatein überprüft auf Änderungen..

Kann es sein, das Windows keine Änderungen seit des letzten Sicherungspunkt erkennt und deshalb keinen neuen Punkt erstellt?
  Mit Zitat antworten Zitat
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#7

AW: Windows 10 und System Restore

  Alt 19. Mär 2017, 06:48
Hatte ich auch vermutet, und deshalb Apps installiert die zuvor noch nie in der VM Waren. Hab bestimmt 20 Minuten lang versucht den 4ten Punkt zu erstellen. Keine Chance. Hab dann einen mit Windows-Boardmitteln erstellt und er war sofort da.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:17 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