Optimale Zusammenstellung eines Pakets

Post Reply
9Made
Posts: 39
Joined: 19. Sep 2022, 08:24
Contact:

Optimale Zusammenstellung eines Pakets

Post by 9Made » 07. Nov 2022, 12:43

Ich möchte das optimale Paket für alle meine Pakete erstellen. Würdet ihr etwas ändern?

Es ist wichtig, dass keine Fehlermeldungen bei installierter Software auftreten, die nicht mit Matrix42 installiert wurde. Dies war bisher mein häufigstes Problem, weshalb ich alle Pakete anpassen muss.

Code: Select all

[Set:Installation]
SET SoftwareVersion=%HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{%%}_is1","DisplayVersion"%
If %ContinentalVersion% = 2.0.0 Then "VersionOK" EndIf

SET SoftwareVersion=%HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{%%}_is1","DisplayVersion"%
If %ContinentalVersion% > 2.0.0 Then "Set:Deinstallation" EndIf

[Set:Update]
AddMeter -1
Call "%Src%\Software_2.0.0.exe" /SILENT /SUPPRESSMSGBOXES /LOG="%APP%\Install.log" /NOCANCEL /NORESTART
If %ErrorLevel% <> "0" Then "SET:InstallationError" EndIf

[Set:Deinstallation]
If "%ErrorLevel%" <> "0" Then "SET:DeInstallationError" EndIf
-Call %HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{%%}_is1,QuietUninstallString% /SILENT" /SUPPRESSMSGBOXES /LOG="%APP%\Uninstall.log" /NOCANCEL /NORESTART
-AddMeter -1

[VersionOK]
ErrorLogMsg Die Software ist bereits installiert und auf dem neuesten Stand. Die Installation wird übersprungen. Exit!
SetReboot 2
Exit Die Software ist bereits installiert und auf dem neuesten Stand. Die Installation wird übersprungen.

Markus S.
Posts: 53
Joined: 16. Sep 2013, 14:05
Contact:

Re: Optimale Zusammenstellung eines Pakets

Post by Markus S. » 05. Dec 2022, 13:40

Du kannst noch Zeilen zusammenfassen:

Code: Select all

IF %HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{%%}_is1,DisplayVersion% <> 2.0.0 Then "VersionOK"  Else "VersionNOK" EndIf
Wenn eine nicht von dir gewünschte Version installiert ist, willst du ja in jedem Fall (egal ob neuer oder älter), dass deine Version verwendet wird. Deshalb kannst du auch einfach auf alles prüfen, was nicht deiner Version entspricht.

Ich würde allerdings dann keine Meldung als ErrorLogMsg in die ErrorLog schreiben lassen. Ich fände es hübscher, wenn du einfach einen Regkey dafür setzt. Der lässt sich dann ja auch per Inventory ermitteln, falls nötig.

Um das Ganze dann noch ein Stückchen weiter zu bringen, kannst du die Versionsnummer auch einfach über die Variable abrufen, die du sowieso schon bei den Paketinformationen in der Variable %Version% speicherst (Application Sektion):

Code: Select all

IF %HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{%%}_is1,DisplayVersion% <> %Version% Then "VersionOK"  Else "VersionNOK" EndIf

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: Ahrefs [Bot] and 8 guests