Registry Key Flag setzen um Script zu steuern?

  • Hallo Forum,

    ich habe mit AutoIT ein Installationsskript geschrieben. An einer bestimmten Stelle muss ich eine Fallunterscheidung einbauen, ob das Script zuvor schon einmal bis dort hin kam, oder nicht. Da dazwischen ein Neustart sein kann, würde ich das am besten über einen Registry Wert machen: Sprich, eine Art reboot Flag auf 1 setzen, und dann mit einer einfachen if Abfrage checken ob es schon 1 ist, oder nicht.

    Wie setze ich das am besten um und welchen Key lege ich dazu am besten wo an?

  • Ich würde einen Eintrag in der Registry bei "RunOnce" setzen welches dein Script nach dem Neustart und anmelden dann mit einem Parameter direkt startet.

    Der Eintrag unter RunOnce wird dann von Windows auch automatisch entfernt. Sprich deine Registry ist wieder "aufgeräumt".

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Hallo,

    @chip ich glaube, der Key soll danach auch noch existieren.

    @Simon09 an deiner Stelle würde ich das nicht unter RunOnce setzen. Oder muss das Programm neustarten?
    Falls ja, setze:
    [HKLM\Software\NAME_DEINER_SOFTWARE]
    CompletedInstall= 1
    Der Name kann auch variabel sein.

    Alternativ kannst du dazu auch mit ini_read o.ä. arbeiten, wobei ich die Registry als sichereren Speicherort vor Löschungen halte.

    olfibits

    neben AutoIt jetzt auch noch in C/C++, Java und Python aktiv :)
    Stand 04.04.2018, 13:34

  • Hallo,

    @chip ich glaube, der Key soll danach auch noch existieren.

    @Simon09 an deiner Stelle würde ich das nicht unter RunOnce setzen. Oder muss das Programm neustarten?
    Falls ja, setze:
    [HKLM\Software\NAME_DEINER_SOFTWARE]
    CompletedInstall= 1
    Der Name kann auch variabel sein.

    Alternativ kannst du dazu auch mit ini_read o.ä. arbeiten, wobei ich die Registry als sichereren Speicherort vor Löschungen halte.

    olfibits

    Einmal den Startpost richtig lesen und dann versuch es nochmal ;).

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Ich verstehe. Trotzdem meine ich, dass @Simon09 überprüfen will, ob die Installation bis zu einem bestimmten Status gekommen ist. Dazwischen kann EIN Reboot liegen. Was, wenn aber z.B. zwei Reboots dazwischenliegen? Dann ist der Key weg.

    Wenn Simon wieder online ist, kann er das ja noch erklären. Selbst wenn er es so meint wie @Bitnugger und @chip fände ich es sinnvoller den Key zu behalten, falls etwas schiefgeht. Ich weiß ja nicht wie das Install-Script funktioniert.

    @Bitnugger

    Zitat von olfibits

    (...) Alternativ kannst du dazu auch mit ini_read o.ä. arbeiten, wobei ich die Registry als sichereren Speicherort vor Löschungen halte.

    Das sagt doch alles, oder? Oder formuliere ich so uneindeutig? :P
    also nochmal... Ich meinte, dass die Registry sicherer ist als eine INI. Wo soll man die dann sinnvoll speichern?
    Ich wollte Simon nur eine Alternative zur REG anbieten.

    :) lfibits

    neben AutoIt jetzt auch noch in C/C++, Java und Python aktiv :)
    Stand 04.04.2018, 13:34

  • Das sagt doch alles, oder? Oder formuliere ich so uneindeutig?

    Nein, das sagt nichts! Meine Frage war unmissverständlich, deine Ausführung quasi nur eine Wiederholung des bereits Gesagten.

    Wenn du der Meinung bist, dass die Registry ein sichereren Speicherort vor Löschungen ist, solltest du das auch begründen können... und genau das war meine Frage.
    Was bitte ist denn daran sicherer?

  • @Bitnugger Ich meine sicherer als das INI. Jetzt kapiert?
    @BugFix ja klar. Aber was ist, wenn so ein sinnfreier Schwachsinn wie TuneUp&Co. auf dem Rechner des Endbenutzers ist, der alle naselang mal die Temp files löscht?
    Ein Reg Cleaner lässt idR die Pfoten weg von den Softwareeintragen bzw ein Virus einen banalen Installed=1 Key. Meine Begründung.

    neben AutoIt jetzt auch noch in C/C++, Java und Python aktiv :)
    Stand 04.04.2018, 13:34

    • Offizieller Beitrag

    Aber was ist, wenn so ein sinnfreier Schwachsinn wie TuneUp&Co. auf dem Rechner des Endbenutzers ist, der alle naselang mal die Temp files löscht?

    Nun, "C:\Users\USER\AppData\Local" ist aber kein Temp-Ordner. Unter AppData kann man beruhigt Dinge ablegen, die der User nicht versehentlich einfach mal wegsemmeln soll. Mit Standardeinstellungen ist dieser Ordnerzweig für den User nicht sichtbar (er wird auch nicht in die Windows-Suche einbezogen).

  • @Bitnugger Ich meine sicherer als das INI. Jetzt kapiert?

    Es geht nicht darum, ob ich etwas kapiere... und hier machst du es schon wieder... lieferst keine Begründung, warum es sicherer ist!

    @BugFix ja klar. Aber was ist, wenn so ein sinnfreier Schwachsinn wie TuneUp&Co. auf dem Rechner des Endbenutzers ist, der alle naselang mal die Temp files löscht?
    Ein Reg Cleaner lässt idR die Pfoten weg von den Softwareeintragen bzw ein Virus einen banalen Installed=1 Key. Meine Begründung.

    Ja, das ist eine Begründung, wie ich sie bereits nach meiner ersten Frage gerne bekommen hätte! Die Antwort von@'BugFix' sollte dir aber nun aufzeigen, dass dem nicht so ist, zumal in "C:\Users\USER\AppData\Local" ganz sicher kein Registry Cleaner etwas löscht.

  • @Bitnugger Ich meine sicherer als das INI. Jetzt kapiert?
    @BugFix ja klar. Aber was ist, wenn so ein sinnfreier Schwachsinn wie TuneUp&Co. auf dem Rechner des Endbenutzers ist, der alle naselang mal die Temp files löscht?
    Ein Reg Cleaner lässt idR die Pfoten weg von den Softwareeintragen bzw ein Virus einen banalen Installed=1 Key. Meine Begründung.

    Sorry wenn ich das so hart jetzt sage, aber scheinbar ist dein Wissensstand zu dem Thema nicht soweit fortgeschritten als dass du in der Lage wärst von "sicherer" und "besser" zu schreiben ;). Wie Bugfix schon geschrieben hat ist %appdata% kein Temp Ordner. Die Registry wird ebenso wie alles andere als lokale Datei abgelegt sprich unter C:\Windows\System32\Config. Das kann genauso von einem Virus oder User zerstört werden wie eine Ini-Datei. Und es existieren auch Viren die es auf pure Zerstörung abgesehen haben.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.