Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Abbruch nach Installation von WinFuture Pack
2007-10-19, 04:33 PM, (This post was last modified: 2007-10-19, 05:48 PM by BinCZ.)
#25
RE: Abbruch nach Installation von WinFuture Pack
Vitali Wrote:Hat sich leider etwas verzögert..

Also, damit wir nach Windows-Installation noch ein paar andere Programme installiert bekommen muss folgendes in winnt.sif eingetragen werden:
Code:
[GuiRunOnce]
wucdcreator="wscript.exe %systemroot%\RunOnceEx.js"
Das ist eine Anweisung an Windows ein Schlüssel HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\wucdcreator mit dem Wert wscript.exe %systemroot%\RunOnceEx.js in Windows-Registry zu erstellen.

Dieser RunOnce Schlüssel wird ein einzige mal ausgeführt, nämlich bei nächstem anmelden eines x-belibigen Users nach neustart des Rechners.
In unserem Fall wird Befehl wscript.exe %systemroot%\RunOnceEx.js ausgeführt. RunOnceEx.js beinhaltet die Befehle, die wir bei Integration von Software im unterem Fenster im Creator eintragen haben. RunOnceEx.js führt diese Befehle aber aber nicht aus! Alle Befehle werden wieder in Registry geschrieben dieses mal aber in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\*. Diese RunOnceEx ist ip Prinzip das selbe wie RunOnce, sieht nur besser aus Wink Die RunOnceEx-Befehle werden normalerweise nach neustart ausgeführt, lässen sich aber mit einem Befehl rundll32.exe iernonce.dll,RunOnceExProcess sofort starten, was von RunOnceEx.js auch gemacht wird.

So sieht der normale Installation-Prozess bei WUCD-Creator aus. Und jetzt in der Liste zuinstallierenden Programmen taucht -= REBOOT =- auf, was nun?

RunOnceEx.js schreibt wie gewöhnt RunOnceEx-Befehle ins Regystry, dieses mal aber nicht alle, sonder nur die Befehle die vor -= REBOOT =- ausgeführt werden sollen plus der Reboot-Befehl selbst. Der sieht so aus reboot.exe /t 60 /m \"{message}\" /r {runat}. Dabei wird {message} durch "PC aufräumen und neustarten" ersetzt und {runat} durch eine Zahl, z.B. 3. Die reboot.exe ist ein AutoIt-Scrip. Was macht er? Zuerst startet er ein Countdown mit 60 Sec und schreibt den Text "PC aufräumen und neustarten" im Fenster. Nach Ablauf des Countdown werden wieder ein Paar Registry-Schlüssel geschrieben. Erste ist HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\guirunonce0 mit dem Wert wscript.exe %systemroot%\runonceex.js. Somit nach neustart wirt RunonceEx.js wieder gestartet. Der andere Schlüssel ist HKLM\SOFTWARE\RunOnceEx.js\runat mit Wert 3. Das ist Anweisung an RunOnceEx.js nicht wieder mit erstem Programm anzufangen, sondern glich mit der dritten!!

Das war alles. Das Problem mit Winfuture-Updatepack, dass er auch nach neustart des Rechners weiter Updates installieren will. Und es gibt nur zwei Wege es zu machen RunOnce oder RunOnceEx...

Ich würde gern wissen welche Schlüssel Winfuture-Updatepack eigentlich schreibt!

Kannst du folgendes tun?
Zuerst die erste teil des Packs installieren lassen, danach die Reboot.exe abbrechen, und anschliessend mit regedit.exe Schlüssel HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce und HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx exportieren und hier posten.

Danach können wir weiter denken was wir dagegen tun wollen.



Hallo Vitali,



vielen Dank für Deine Ausführungen.

Was es mit den 'RunOnce[Ex]'-Einträgen in der Registry auf sich hat, ist mir allerdings schon bekannt.


Ich hab' bei diesen Einträgen schon früher mal nachgeschaut, nämlich bei der Ermittlung, ob der Reboot nach der IE7-Installation wirklich notwendig ist.

Seinerzeit war mir nur aufgefallen, daß der IE7-Installer darüber nach dem Reboot noch 'mal gestartet wird.

Sobald ich dazu komme, werde ich mir die 'RunOnce[Ex]'-Einträge noch 'mal näher ansehen.


Es läuft nämlich absolut nichts mehr im Anschluß an den -=REBOOT=- nach der Installation des ersten Teils des Update-Packs. Auch nicht mein Protokoll-Script, das ich geschrieben habe, um dahinterzukommen, was da wirklich abläuft. Auch in diesem Fall wird der anstehende Software-Installations-Punkt übersprungen und sofort der nächste eingetragene -=REBOOT=- ausgeführt.


D. h., ich werde mir die RunOnceEx.js und die settings.txt auch noch 'mal genauer ansehen.

Dazu brauche ich aber noch folgende wichtige Information:

Legst Du die 'runat'-Parameter beim Speichern des Projektes bereits fest und hinterlegst sie irgendwo, z. B. in der settings.txt, oder ermittelst Du sie dynamisch vor dem jeweils nächsten
-=REBOOT=- während der laufenden Installation?


Und dann bräuchte ich noch einen Tipp: Laut Beschreibung sollen Daten zwischen einer VM und dem Host per Drag and Drop austauschbar sein. Aber irgendwie krieg' ich das nich' hin.

Bei meiner Installations-Test-VM handelt es sich um eine BareMetal-VM mit einer non-persistant HDD. Die Tools werden nicht installiert, obwohl ich der VM gesagt habe, sie soll sie automatisch installieren.

Hast Du vielleicht einen Tipp auf Lager, wie ich die Registry-Exporte auf den Host 'rüberbekomme, ohne der VM den Zugriff auf mein Host-D: Laufwerk zu erlauben?



Gruß

        BinCZ
Reply


Messages In This Thread
RE: Abbruch nach Installation von WinFuture Pack - by BinCZ - 2007-10-19, 04:33 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)