"Installation bei Shutdown": PC schaltet bei "ExitWindows /ImmediateReboot" aus

Nils
Beiträge: 185
Registriert: 16 Sep 2011, 08:59

"Installation bei Shutdown": PC schaltet bei "ExitWindows /ImmediateReboot" aus

Beitrag von Nils »

Hallo zusammen,

ich habe mal wieder eine kleine Schwierigkeit; vielleicht auch nur einen Denkfehler. Aber vielleicht kann mir einer von euch helfen, den "Knoten" zu lösen.
Das Problem ist wie folgt: Ich habe ein OPSI-Paket für eine Anwendung gebaut. Es geht um die Installation des "IBM Informix Connect Client". Das Skript benötigt relativ kurz nach dem Start einen Neustart des PCs. Sprich, das Skript startet, ergänzt die Windows-Pfad-Variable per

Code: Alles auswählen

supp "Path" ; "$InstallDir32$"
und startet dann den PC mit Hilfe von

Code: Alles auswählen

ExitWindows /ImmediateReboot
neu, damit die Änderung wirksam wird.

Lasse ich die Installation nicht beim Starten des PCs ("event_gui_startup") sondern per "Installation on Shutdown" ausführen, so schaltet sich der PC aus, sobald der Befehl "ExitWindows /ImmediateReboot" ausgeführt wurde. Damit wird die Installation natürlich (erst mal) nicht fortgesetzt, bis der Anwender den PC das nächste Mal startet und "event_gui_startup" ausgeführt wird. :(
Ärgerlich daran ist vor allem, dass sich an diese Installation in der Regel noch weitere Installationen anschließen, welche von einem Erfolg der Installation des Informix-Clients abhängen. Und "so" (mit dem Ausschalten) ist es verständlicherweise etwas "störend". ;)
Daher meine Fragen: Was muss ich ändern, damit an der besagten Stelle nicht das Ausschalten sondern der Neustart des PCs erfolgt? Oder mache ich einen (Denk-)Fehler und kann die Installation so nicht durchführen?

Vielen Dank im Voraus für eure Unterstützung.
Sonnige Grüße aus dem hohen Norden.
Nils
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: "Installation bei Shutdown": PC schaltet bei "ExitWindows /ImmediateReboot" aus

Beitrag von n.wenselowski »

Hallo,

anstatt dem ImmediateReboot ist vermutlich ein einfache Reboot oder ein RebootWanted zielführend.
Unterschiede im Handbuch.


Gruß

Niko

Code: Alles auswählen

import OPSI
Hom
Beiträge: 45
Registriert: 13 Mai 2013, 12:39

Re: "Installation bei Shutdown": PC schaltet bei "ExitWindows /ImmediateReboot" aus

Beitrag von Hom »

Hallo,

mag ja sein das ich es nicht verstehe, aber es widerspricht sich eine Installation per Shutdown nicht mit einem Reboot. Handbuch 22.3?
"Angefangene Installationen werden aber auf jeden Fall beim Hochfahren des Rechners fortgesetzt."
Windows unterscheidet beim Herunterfahren systemtechnisch nicht zwischen einem Shutdown und einem Reboot.
Die Installation beim Shutdown wird also sowohl beim Shutdown, als auch beim Reboot ausgeführt und es ist nicht
möglich, diese beiden Fälle bei der Ausführung zu unterscheiden. Wurde der Rechner nicht als Reboot, sondern als
Shutdown heruntergefahren, lässt Windows keine Umwandlung des Shutdown in einen Reboot zu. Falls einzelne
Software-Pakete eine mehrphasige Installation mit Reboot benötigen, wird die Installation erst beim nächsten Start
des Clients fortgesetzt."
Wie soll der Rechner denn wissen, sollte er doch einen Reboot machen, wann er den Shutdown (also das Ausschalten) ansteuern soll.

Deshalb weisen wir unsere User an, einen Reboot vor Feierabend zu machen, denn dann kann ich das Paket shutdownwanted aktiv setzen, egal wieviele Reboots die Software anfordert und die Kiste ist am nächsten Tag aus. Wer das vergisst, sitzt morgens halt vorm PC.
Noch eleganter ist die Wake on Lan Lösung ,die dass sogar Nachts pratktizieren kann.

So habe ich Install per Shutdown verstanden und für uns lohnt sich diese Entwicklung leider nicht, da die meiste Software Neustarts benötigt.

Grüße
Hom
Nils
Beiträge: 185
Registriert: 16 Sep 2011, 08:59

Re: "Installation bei Shutdown": PC schaltet bei "ExitWindows /ImmediateReboot" aus

Beitrag von Nils »

Hallo Niko,

vielen Dank für deinen Tipp.
Leider funktioniert es weder mit "/Reboot" noch mit "/RebootWanted". Beide Optionen führen zum gleichen Ergebnis: der PC wird an der Stelle des Skriptes ausgeschaltet und nicht neu gestartet. Somit "endet" die Installation natürlich an dem Punkt. Bis der PC das nächste Mal gestartet wird.

Hallo Hom,
ich bin mir da leider auch nicht sooo sicher, wie das im Handbuch gemeint ist. Meine Hoffnung war, dass die Installation(en) zuende geführt werden, bevor der PC letztendlich ausgeschaltet wird. Aber vermutlich geht das dank M$ nicht?!? :?

Vielen Dank für eure Hilfe, viele Grüße und einen tollen Tag.
Nils
Benutzeravatar
SisterOfMercy
Beiträge: 1522
Registriert: 22 Jun 2012, 19:18

Re: "Installation bei Shutdown": PC schaltet bei "ExitWindows /ImmediateReboot" aus

Beitrag von SisterOfMercy »

Nils hat geschrieben:Das Problem ist wie folgt: Ich habe ein OPSI-Paket für eine Anwendung gebaut. Es geht um die Installation des "IBM Informix Connect Client". Das Skript benötigt relativ kurz nach dem Start einen Neustart des PCs. Sprich, das Skript startet, ergänzt die Windows-Pfad-Variable per
Does the installer of that client really needs the path variable to be set before installation?
I would reckon it only needs that when running, so you can reboot after installing everything.

Would the path variable be read again when killing off and restarting explorer?
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: "Installation bei Shutdown": PC schaltet bei "ExitWindows /ImmediateReboot" aus

Beitrag von n.wenselowski »

Hallo Nils,

ich glaube ich habe jetzt verstanden, worauf du hinaus willst: du willst dafür sorgen, dass der PC - egal in welchem Zustand - einen Neustart ausführt, weil die Software das benötigt.
Puh, ich weiss nicht, ob man beim Shutdown das ganze noch umwandeln kann in einen Neustart. Eventuell hilft hier das Ausprobieren der Parameter der shutdown.exe von Windows.


Viele Grüße

Niko

Code: Alles auswählen

import OPSI
dkoch
Beiträge: 309
Registriert: 25 Nov 2011, 14:03

Re: "Installation bei Shutdown": PC schaltet bei "ExitWindows /ImmediateReboot" aus

Beitrag von dkoch »

Wo kommt denn dieser Shutdown überhaupt her ? ExitWindows /ImmediateReboot macht definitiv einen reboot und keinen shutdown!
Sollte der shutdown von der Installation o.ä kommen kannst du diesen mit DosBatch und "shutdown /a" abbrechen sofern dafür noch ein timeout läuft und dann ein ExitWindows /ImmediateReboot hinterher schicken.

Ansonsten musst du halt raus finden wo der shutdown überhaupt her kommt und das unterbinden.
panisch
Beiträge: 47
Registriert: 02 Okt 2014, 15:22

Re: "Installation bei Shutdown": PC schaltet bei "ExitWindows /ImmediateReboot" aus

Beitrag von panisch »

dkoch hat geschrieben:Wo kommt denn dieser Shutdown überhaupt her ? ExitWindows /ImmediateReboot macht definitiv einen reboot und keinen shutdown!
Sollte der shutdown von der Installation o.ä kommen kannst du diesen mit DosBatch und "shutdown /a" abbrechen sofern dafür noch ein timeout läuft und dann ein ExitWindows /ImmediateReboot hinterher schicken.

Ansonsten musst du halt raus finden wo der shutdown her kommt und das unterbinden.
Er installiert das ganze beim Shutdown, da kommt der Shutdown her, den kann er meines Wissens auch nicht mehr abbrechen, da ist Windows dann schon zu weit weg. Das ist ja das ganze Problem, dass das alles beim Shutdown installiert wird - das einfachste wäre wahrscheinlich die User wie oben irgendwo schon gesagt anzuweisen den Rechner am Abend neu zu starten, anstatt runter zu fahren und dann über den Opsi am Ende den shutdown auszuführen..
Nils
Beiträge: 185
Registriert: 16 Sep 2011, 08:59

Re: "Installation bei Shutdown": PC schaltet bei "ExitWindows /ImmediateReboot" aus

Beitrag von Nils »

Hallo zusammen,

vielen Dank für eure zahlreichen Nachrichten. :)

@Niko / @all:
Um vielleicht den Hintergrung noch etwas deutlicher zu machen: Ich benötige zwingend auch auf 64-Bit-Systemen die 32-Bit-Version des IBM Informix Treibers für eine Datenbankanwendung, welche im Anschluss an die Treiberinstallation installiert werden kann / installiert wird.
Die 32-Bit-Version des Treibers lässt sich jedoch auf 64-Bit-Systemen nur installieren, wenn in der "Path"-Variablen der Eintrag "%Systemroot%\SysWOW64" vorhanden ist. Ansonsten schlägt die Installation mit dem Hinweis fehl, dass eine 32-Bit-Anwendung auf einem 64-Bit-System installiert werden solle und hierfür der o. g. Eintrag in der Pfad-Variablen vorhanden sein muss.
Daher füge ich auf 64-Bit-Systemen als erstes den entsprechenden Eintrag in der Registry hinzu. Per Registry mache ich es, weil 'supp "Path'" den Eintrag ans Ende schreibt, ich den Eintrag (anscheinend) jedoch am Beginn der Variablen benötige.

Code: Alles auswählen

OpenKey [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
set "Path" = "$Path$"
Wobei ich vorher ein

Code: Alles auswählen

set $Path$ = "%Systemroot%\SysWOW64;" + $Path$
durchführe.

Da Windows die "Path"-Variable jedoch offensichtlich nur beim Systemstart ausliest, muss ich das System neu starten, um die eigentliche Installation starten / durchführen zu können. :evil:

Erreichen möchte ich letzten Endes, dass der User zum Feierabend seinen PC wie gewohnt herunterfahren kann, dann jedoch vor dem endgültigen Ausschalten sowohl der Treiber als auch die "zugehörige" Datenbankanwendung installiert wird, damit der User am kommenden Morgen frisch und fröhlich mit seinem Tagwerk beginnen kann. Ohne, auf die Durchführung / den Abschluss der beiden Installationen warten zu müssen. :)

@SisterOfMercy:
Bedauerlicherweise benötigt die Installation wirklich den Reboot. Es sei denn, in der Systemvariablen "Path" ist das "SysWow64"-Verzeichnis schon enthalten. Dies scheint im Standard jedoch nicht der Fall zu sein. :(

@dkoch:
Der Shutdown, also das Ausschalten des PCs kommt dadurch, dass der User (z. B. zum Feierabend) "Herunterfahren" fahren wählt. Da das Modul "Installation bei Shutdown" für diesen Client aktiv ist, wird die Installation gestartet. So, wie's sein soll.
Der Shutdown wird also nicht durch das Installationspaket des Herstellers veranlasst.

@panisch:
Ich fürchte auch, dass Windows dann schon "zu weit weg" ist. :(
Und zur Not klappt es auch - bei manchen Usern -, wenn man sie bittet, den PC neu zu starten, anstatt ihn herunterzufahren; leider jedoch nicht bei allen.
Daher war / ist meine Hoffnung, das Installationspaket irgendwie so bauen zu können, dass es auch beim "normalen" Herunterfahren funktioniert.

Ich hoffe, damit etwas mehr Klarheit in das Wieso, Warum, Weshalb gebracht zu haben.
Falls nicht, oder falls noch weitere Fragen auftauchen sollten, so stellt sie bitte und ich werde mich bemühen, sie hier zeitnah zu beantworten.

Vielen, vielen Dank für all eure Ideen, Tipps und Vorschläge. :)
Viele Grüße und im Voraus ein super tolles Wochenende.
Nils
Benutzeravatar
SisterOfMercy
Beiträge: 1522
Registriert: 22 Jun 2012, 19:18

Re: "Installation bei Shutdown": PC schaltet bei "ExitWindows /ImmediateReboot" aus

Beitrag von SisterOfMercy »

Uhh, and if you run the installer from a dosbatch/dosinanicon? Then you might be able to use 'set path', and it might not need a restart to install, because those settings are for that session only.

So, dosbatch, trick the installer that the path is correct, install, afterwards set the path correctly and reboot.

Code: Alles auswählen

[dosbatch_install_client]
set path = blah
install_client.exe
I use this to add and remove directories from the path variable (I do not use the opsi supp method, because this expands all directory names)

Code: Alles auswählen

[Actions]
DefVar $AddDir$
DefVar $RemoveDir$
DefVar $Path$

Set $RemoveDir$ = "%systemroot%\directory\to\remove"
Set $AddDir$ = "%systemroot%\directory\to\add"

comment "Patch Registry"
Set $Path$ = GetRegistryStringValueSysNative("[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment] Path")
set $Path$ = stringReplace($Path$, $RemoveDir$, "")
set $Path$ = stringReplace($Path$, ";;", ";")
set $Path$ = $Path$ + ";" + $AddDir$
Registry_install /64Bit
	
[Registry_install]
set "Path" = REG_EXPAND_SZ:"$Path$"

Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
Antworten