Software nach MSI "umwandeln"

Alle Fragen, Tipps und Tricks rund um ACMP AutoMATE
Antworten
mcjay
Beiträge: 1
Registriert: Mi Mai 18, 2011 4:46 pm

Hallo,
gibt es eine Möglichkeit, ein per Automate aufgezeichnete Software Installation nach MSI zu "migrieren"?
Kann man überhaupt irgendwo im ACMP Software umwandeln nach MSI? Vielen Dank für eine Antwort.

Gruß Jürgen Roth
thellweg

Hallo Herr Roth,

das Werkzeug zur simplen Umwandlung oder Migration einer "setupbasierten" Installationsroutine in ein MSI Paket ist noch nicht erfunden worden.
Der Grund dafür ist ganz einfach der, dass bei einem Windows Installer Paket (MSI) grundsätzlich eine andere Technologie zum Einsatz kommt.

Ich will dies gern etwas näher erklären.
Eine herkömmliche Setup-Installation ist im Prinzip eine Sequenz, welche, teilweise beeinflusst durch Benutzereingaben, einem vom Softwarehersteller vorbestimmten Ablauf folgt. Dabei werden Dateien extrahiert und in ihre Zielordner auf dem Computer kopiert, Registry-Keys geschrieben und so weiter... Am Ende dieser Sequenz ist die Software installiert und die Ablaufsequenz beendet sich mit dem letzten Klick auf "Finish".
Eine solche Sequenz können Sie mit Softwaredistributionssystemen zu einem automatischen Ablauf "paketieren". Dabei können Sie z.B. die erforderlichen Nutzereingaben durch entsprechende Parameter in Antwortdateien automatisiert an den Setup-Prozess übergeben. Sie können die Installation aber auch mit einem Tool wie dem ACMP Automate aufzeichnen und die entsprechenden Eingaben durch Ihr Automate-Script vornehmen lassen.
Was immer Sie tun, Sie folgen dabei stets dem Ablaufplan der Installationssequenz des Softwareherstellers.

Die Windows Installer Technologie verfolgt hingegen einen anderen Ansatz.
Bei einem MSI-Paket handelt es sich, vereinfacht gesagt, um eine Datenbank, welche viele verschiedene Tabellen enthält. Jede dieser Tabellen enthält Angaben zu bestimmten Eigenschaften der Paketbestandteile. Jede Tabelle hat dabei ihre eigene Funktion und das Zusammenwirken aller Tabellen und ihrer Bezüge ergibt den "Bauplan" für die Installation des MSI-Paketes. Dieser "Bauplan" enthält einen definiertierten Zustand der Installation, welcher bei der Installation des MSI-Paketes auf dem Computer erzeugt wird.
Auch wenn die Installation der Paketbestandteile ebenfalls einem seqentiellen Ablauf folgt, gibt es hier grundliegende Unterschiede.
Im Gegensatz zur Installationssequenz einer Setup-Installation wird der MSI-Bauplan nicht nur zur Laufzeit der Installation verwendet und danach verworfen, sondern er verbleibt auf dem Computer. Der Windows Installer Dienst kennt also zu jedem Zeitpunkt den "definierten Sollzustand" eines jeden installierten MSI-Paketes. Beim Starten einer (via MSI installierten) Software überprüft der Windows Installer Dienst, anhand des Bauplans, ob der "definierte Sollzustand" für dieses Paket gegeben ist. Ist dies nicht der Fall, so wird dieser Zustand erzeugt (Selfrepair). Ein gutes Beispiel dafür ist die automatische Installation von Benutzeranteilen, wenn sich ein Benutzer zum erstenmal an einem PC anmeldet auf welchem Vortags neue MSI-Pakete installiert wurden.

Wie man anhand meiner Schilderungen sieht, funktioniert MSI-Technologie grundsätzlich ganz anders als der "fire and forget" Ablauf von SETUP.EXE Sequenzen.
Eine Konvertierung/Migration einer Setup-Sequenz zu einer tabellenbasierten MSI-Datenbank ist technologisch ebenso unmöglich wie Blei in Gold zu verwandeln.

Um den Inhalt einer Setup-Installation mittels MSI-Paket zu verteilen kann man, mit entsprechenden Tools, die Setup-Installation mittels Differenzverfahren aufzeichnen. Dieses Verfahren wird als Repaketierung bezeichnet. Das Repaketierungswerkzeug erzeugt dabei i.d.R. jeweils einen "Snapshot" vor und nach der Installation der Software und generiert aus dem "Delta" der beiden Snapshots die MSI-Tabellen und deren Inhalte. Diese Tabelleninhalte müssen jedoch i.d.R. noch nachbearbeitet und modifiziert werden um ein "sauberes" MSI-Paket zu erhalten. Dazu ist in jedem Fall ein entsprechend fundiertes Knowhow im Bereich Windows Installer Technologie notwendig. Ein Tool allein hilft nicht wirklich, wenn das Verständnis für die zugrundeliegende Technologie nicht vorhanden ist (a fool with a tool is still a fool).
Die leistungsfähigste Repaketierungslösung ist, nach weitverbreiteter Ansicht, das Wise Package Studio von Symantec, welches auch von der ACMP PackageFactory eingesetzt wird.

Um sich ein MSI und seinen Bauplan aber einfach nur einmal "anzugucken", können Sie den kostenlosen MSI-Tabelleneditor "ORCA" (einfach mal danach googlen) benutzen. Falls Sie das Thema näher interessieren sollte, kann ich Ihnen gern auch einige Literaturhinweise geben.

Ich hoffe Ihre Frage ausreichend beantwortet zu haben. Wenn nicht, einfach noch mal nachfragen!

Nachtrag:
Sollten Sie Bedarf für die Repaketierung von Setup-Installationen zu MSI-Paketen haben, so erstellen wir Ihnen gerne ein entsprechendes Angebot.
Antworten