Übergabe und Überprüfung von Eigenschaften

Antworten
Volker
Beiträge: 38
Registriert: 08.07.2022, 09:25

Übergabe und Überprüfung von Eigenschaften

Beitrag von Volker »

Wie schon im vorangegangen Tutorial gesehen, kann man Eigenschaften des Bootstrappers an das MSI übergeben.

Bild

Und zwar so.

Wichtig ist, der Name für die Eigenscaft muss öffentlich sein, also komplett in Großbuchstaben. Ab diesem Zeitpunkt kann man EIGENSCHAFT_VOM_BOOTSTRAPPER im MSI verwenden, und zwar an jeder Stelle aber wie bitte prüft man dieses?

Bild

Bevor man jetzt den Dialog-Editor des AKInstallerMSI nutzt, und den WelcomeDlg verschandelt, es geht auch einfacher.

Bild

Im Tools-Ordner befindet sich die VarMsgRet.exe, diese wird in den Ressourcen abgelegt, unter Parameter die entsprechenden Eigenschaften eingetragen.

Und Zeitpunkt und Sequenz, kann bestimmt werden, wann die Ausgabe erfolgen soll.
Da VarMsgRet.exe nicht 0 (ERROR_SUCCESSED) zurück liefert, bricht das Setup automaisch ab, wenn Ausführung den Rückgabewert auswertet.

Bild

Bei einer Ausführung erhälten man diese Ausgabe.

Bild

Weiterhin lässt sich EIGENSCHAFT_VOM_BOOTSTRAPPER auch als Start - Bedingung angeben.


Startet man das MSI mittels msiexec /i setup.msi /lvoicewarmup*! log.txt EIGENSCHAFT_VOM_BOOTSTRAPPER=1

Findet man im Logfle MSI (s) ... Command Line: ... mit dem entsprechenden Parameter.

Beispiel:
MSI (s) (7C:88) [10:19:57:028]: Command Line: ARPSYSTEMCOMPONENT=1 REBOOT=ReallySuppress IGNOREDEPENDENCIES=ALL REMOVE=ALL CURRENTDIRECTORY=C:\Windows\SoftwareDistribution\Download\Install CLIENTUILEVEL=3 MSICLIENTUSESEXTERNALUI=1 CLIENTPROCESSID=11168


Und jedes Mal ein PROPERTY CHANGE, wenn sich eine Eigeschaft während der Laufzeit ändert.

Beispiel:
MSI (s) (7C:88) [10:19:57:028]: PROPERTY CHANGE: Adding ARPSYSTEMCOMPONENT property. Its value is '1'.


Ein MSI (s) bedeutet, das ist der Service, ein MSI (c), es ist der Client.


Ganz am Ende findet man mit Property(S): ... eine Ausgabe aller gesetzten Eigenschaften.
Mit freundlichen Grüßen,
AKApplications, Volker J.
Antworten