Empirum Paket – Revisionserhöhung bei „großen“ Installationen

Ein Software-Paket größeren Umfangs wurde bereits verteilt und es steht jetzt jedoch noch ein kleineres Update aus. Nun kann man entweder ein weiteres Fix Paket schnüren und zusätzlich verteilen, oder das ursprüngliche Paket anpassen und mittels Revisionserhöhung nochmals verteilen. Für ersteres spricht, dass weniger Dateien nochmals über die „Leitung“ gehen, für zweiteres, dass man auch für Neuinstallationen nur ein Paket zuweisen muss.

Zweiteres kann man über die Logik der Revisionserhöhung realisieren. Möchte bei einem bereits verteilten Paket mit einer MSI oder Unattended Installation nun noch ein paar Dateien oder Registry Einträge austauschen/hinzufügen, so kann man den nachfolgend erläuterten Mechanismus nutzen. Dieser Mechanismus ermöglicht, dass bei bereits vorhandenen Installationen mit der Revision=0 nur minimale Änderungen durchgeführt werden und bei Neuinstallationen, die komplette Installation zuzüglich der nachträglichen Änderung.

[Product]
#CheckRevisionChanges, DONTDELETE
...
;<Installationslogik MSI / Unattended>
;<z.B.: Set:Product>
;<z.B.: Set:Installation>
#DoMinorUpdate

[CheckRevisionChanges]
Set LocalRevision=%%HKLM,Software\%MachineKeyName%\Setup,Revision%%
ReplaceEnv LocalRevision
IF "%LocalRevision%" < "%Revision%" & "%LocalRevision%" <> "" THEN "OnlyDoRevisionUpdate" EndIf

[OnlyDoRevisionUpdate]
#DoMinorUpdate
Exit

[DoMinorUpdate]
;Examples / Beispiele
;#CopyAdditionalFiles
;#Reg:Changes

Schreibe einen Kommentar


/* */