ConfigMgr: Paketierung mit System Center Configuration Manager – Teil 3

Im dritten Teil werden die unterschiedlichen Möglichkeiten betrachtet, um ein MSI Paket zu erzeugen.

Eine kurz Übersicht über alle Teile:

  1. Artikel: Einleitung und Möglichkeiten der Paketierung
  2. Artikel: Quellen für Silent Setup Parameter
  3. Artikel: Erstellen von MSI Paketen
  4. Artikel: Verteilung mit Powershell?

WiX Toolset

Eine kostenlose Möglichkeit, um eigene MSI Pakete zu erzeugen, ist das WiX Toolset (http://wixtoolset.org/). Dabei handelt es sich um Kommandozeilenprogramme, die speziell für die Integration in einen Build Prozess geschrieben wurden, d.h. nachdem die Anwendung in Visual Studio kompiliert wurde, könnte sie direkt in ein MSI Paket verpackt werden.

Natürlich hindert niemand einen daran, die Software auch außerhalb eines Build Prozesses einzusetzen. Im Gegensatz zu grafischen Tools, muss hier ein XML File manuell erzeugt werden.

Ein Auszug aus dem Tutorial (http://wix.tramontana.co.hu/tutorial/getting-started) sieht so aus:

[...]
    <Directory Id='TARGETDIR' Name='SourceDir'>
      <Directory Id='ProgramFilesFolder' Name='PFiles'>
        <Directory Id='Acme' Name='Acme'>
          <Directory Id='INSTALLDIR' Name='Foobar 1.0'>

            <Component Id='MainExecutable' Guid='YOURGUID-83F1-4F22-985B-FDB3C8ABD471'>
              <File Id='FoobarEXE' Name='FoobarAppl10.exe' DiskId='1' Source='FoobarAppl10.exe' KeyPath='yes'>
                <Shortcut Id="startmenuFoobar10" Directory="ProgramMenuDir" Name="Foobar 1.0" WorkingDirectory='INSTALLDIR' Icon="Foobar10.exe" IconIndex="0" Advertise="yes" />
                <Shortcut Id="desktopFoobar10" Directory="DesktopFolder" Name="Foobar 1.0" WorkingDirectory='INSTALLDIR' Icon="Foobar10.exe" IconIndex="0" Advertise="yes" />
              </File>
            </Component>
[...]

Dabei wird die Directorystruktur definiert und ein Datei namens foobarAppl10.exe abgelegt. Gleichzeitig werden Verknüpfungen im Startmenü und auf dem Desktop definiert.

Hangelt man sich an diesen Beispielen entlang, so kann man schnell einfache Software in MSI Pakete integrieren.

MSI Wrapper 5

Hat man bereits ein fertiges Setup und möchte es nur in ein MSI Paket verpacken, so kann man zu dem kostenlosen MSI Wrapper (http://www.exemsi.com/) greifen. Möchte man auf einen Kommentar im Uninstall Eintrag verzichten oder auch diesen in einen Buildprozess integrieren, so steht auch eine Professionelle (und kostenpflichtige) Version zur Verfügung.

Es werden in der Online Dokumentation bereits die Parameter für Inno Setup und NSIS aufgeführt (http://www.exemsi.com/documentation/installer-frameworks). Das kostenlose Programm ist Wizard gesteuert und einfach zu bedienen. Bei der richtigen Verwendung können sogar alte MSI Wrapper Installationen durch neuere Version upgegradet werden.

Problematisch ist diese Vorgehensweise wenn in der zu wrappenden EXE MSI Pakte versteckt sind, da der Wrapper im Prinzip die EXE entpackt und mit Silent-Paremtern ausführt. Wenn diese EXE erneut ein MSI Paket installieren will, läuft bereits im äußeren Installer eine MSI Installation und es kommt zu einer entsprechenden Fehlermeldung.

Flexera InstallShield

Das am meisten eingesetzte kommerzielle Programm zum Erstellen von MSI Paketen ist aus meiner Sicht Flexera InstallShield. Zu finden ist diese Software unter http://www.flexerasoftware.com/products/software-installation/installshield-software-installer/.

Caphyon Advanced Installer

Als etwas kostengünstigere kostenpflichtige Variante bietet sich der Advanced Installer von Caphyon (http://www.advancedinstaller.com/) an.

This entry was posted in Configuration Manager, Deutsch, System Center, System Center 2012 and tagged . Bookmark the permalink.