Seite 1 von 1

MSI-Transformationen

Verfasst: 08.07.2022, 15:34
von Volker
MSI-Dateien von Fremdanbietern soll man bekanntlich nicht verändern, weil damit die
digitale Signatur unbrauchbar und vielfach auch die Garantie hinfällig wird.

Wie kann man die MSI-Dateien dennoch an seine Bedürfnisse anpassen?

Das Anpassen geschieht im Allgemeinen über Transformationen, Dateien mit der Endung .mst.

Eine Transformation enthält Änderungen der MSI-Datenbank (MSI), die auf das MSI angewendet
werden. Es beinhaltet nicht das Hinzufügen oder Austauschen von Dateien, welche im
Cabinet-Archiv gespeichert sind.

Bild

Um eine Transformation zu erstellen, öffnen Sie im Explorer das Kontextmenü der Datei und wählen
den MSI-Editor aus.

Bild

Und wählen Transformation beginnen.

Bild

Ändern Sie beliebig viele Werte.

Bild

Und rufen am Ende Erstelle Transformation auf.

Bild

Heraus kommt eine kleine Datei, die wie oben beschrieben, nur die Änderungen beinhaltet.

Wählen Sie im MSI-Editor nun Neu und laden das Ursprungs-MSI, dann wählen Sie
Transformationen -> Transformation anwenden.


Bild


Die Änderungen, welche die MST-Datei durchführt, werden farblich markiert.

Anwenden lässt sich dieses wie folgt:

msiexec.exe /i "C:\Test\Setup.msi" TRANSFORMS="C:\Test\test.mst"


Anwendungsgebiete:

Nehmen wir an wie haben ein MSI welches bestimmte Eingaben verlangt, wie z. B. einen
Servernamen oder ein Passwort. Diese könnten wir, wenn hierfür öffentliche Eigenschaften
genutzt wurden, per Schalter bei der Installation übergeben.

Dies ist bei Passwörtern oder direkter Verteilung über das Netzwerk mitunter etwas heikel,
also verwenden wir einfach eine Transformation.

Bild

Hierzu suchen wir uns die entsprechende Eigenschaft heraus und überprüfen, ob diese durch eine
Custom Action vorbelegt wird. Ist dem so, entfernen wie diese Custom Action oder setzten den
von uns gewünschten Wert ein.

Bild

Gibt es keine Custom Action, legen wir die Eigenschaft einfach in der Tabelle Property an.
So verfahren wir mit allen benötigten Angaben und speichern die Transformation zum Schluss.

Das Ursprungs-MSI wurde nicht veränderte, die Signatur (wenn vorhanden) bleibt intakt und
die Herstellergarantie bleibt bestehen und dennoch haben wir das MSI an unsere Bedürfnisse angepasst.