AKInstallerMSI für den Windows® Installer      
MSI-Transformationen:

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.


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

 
Und wählen Transformation beginnen.
 


 
Ändern Sie beliebig viele Werte.
 

Und rufen am Ende Erstelle Transformation auf.



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.



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.
 


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.



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.