msiexec.exe in der Kommandozeile

09.01.2013 | Autor: Mark Heitbrink

MSI Pakete können nicht nur per Softwarezuweisung installiert werden. Es geht auch über die Kommandozeile. Oftmals wird die Installation mittels einer "setup.exe" angestossen und diese führt die Anweisungen in dem MSI Paket aus. Die msiexec.exe steuert den Verlauf auf dem Client.

Die msiexec.exe als Clientkomponente wird aber spätestens in dem Moment mit ihren Kommandozeile Parametern zur großen Rettung, wo ich als Administrator Fehlermeldungen abfangen möchte oder eine unatteded Installation mit einem anderen Werkzeug als der Gruppenrichtlinie durchführe.

Ein paar simple Beispiele:

  • Unattended/Unbeaufsichtigte Installation ohne Interaktion und ohne Nachricht
        msiexec /i namedes.msi /qb-
  • Unattended De-Installation ohne Interaktion und ohne Nachricht
        msiexec /x namedes.msi /qb-
  • Unattended Installation mit Fehler-(Error)-protokoll
        msiexec /i namedes.msi /qb- /Le logfile.txt
  • Unattended Installation mit mit ausführlichem Protokoll
        msiexec /i namedes.msi /qb- /L*v ogfile.txt
  • Entpacken eines MSI Pakets
        msiexec /a name.msi
Parameter Optionen Erklärung Beispiel
/i   Installiert oder konfiguriert ein Produkt. msiexec /i A:\Beispiel.msi
/a   Führt die administrative Installationsoption aus. msiexec /a A:\Beispiel.msi
/f   Aktiviert eine oder mehrere der in der folgenden Tabelle aufgeführten Befehlszeilenoptionen  
  p Erneute Installation nur dann, wenn die Datei fehlt. msiexec /fpecms Beispiel.msi
  o Erneute Installation, wenn die Datei fehlt oder eine ältere Version der Datei installiert ist.
  e Erneute Installation, wenn die Datei fehlt oder eine gleich alte oder ältere Version der Datei installiert ist.
  d Erneute Installation, wenn die Datei fehlt oder eine andere Version der Datei installiert ist.
  c Erneute Installation, wenn die Datei fehlt oder die gespeicherte Prüfsumme nicht mit dem berechneten Wert übereinstimmt.
  a Erneute Installation aller Dateien.
  u Neuschreiben aller erforderlichen benutzerspezifischen Einträge in der Registrierung.
  m Neuschreiben aller erforderlichen computerspezifischen Einträge in der Registrierung.
  s Überschreiben aller vorhandenen Verknüpfungen.
  v Ausführen von der Quelle aus und erneute Zwischenspeicherung des lokalen Pakets.
/x   Deinstalliert das Paket msiexec /x Beispiel.msi
/j   Ankündigen eines Produkts  
  u Ankündigung an den aktuellen Benutzer msiexec /jm Beispiel.msi

msiexec /jm Beispiel.msi /t transform
  m Ankündigung an alle Benutzer des Computers
  /g Die Kennung für die Sprache
  /t Anwenden der Transformation auf das angekündigte Paket
/L   Der Pfad der Protokolldatei  
  i Protokolliert Statusmeldungen /L* protokoll.log
  w Protokolliert Warnungen
  e Protokolliert alle Fehlermeldungen
  a Protokolliert das Starten von Aktionen
  r Protokolliert vorgangsspezifische Einträge
  u Protokolliert Benutzeranforderungen.
  c Protokolliert anfängliche Parameter für die Benutzeroberfläche
  m Protokolliert nicht genügend Arbeitsspeicher
  p Protokolliert Terminaleigenschaften
  v Protokolliert die ausführliche Ausgabe. Wenn Sie auch die Option v verwenden möchten, geben Sie /L*v an.
  + Hängt an die vorhandene Datei an
  ! Schreibt jede Zeile in das Protokoll
  * Protokolliert alle Daten, mit Ausnahme der Option v. Dies ist ein Platzhalter
/p   Wendet einen Patch an. immer in Kombination mit /a msiexec /p  Patchpaket  /a  Beispiel.msi
/q   Ebene der Benutzeroberfläche  
  n Zeigt keine Benutzeroberfläche an msiexec /qb Beispiel.msi  
  b Zeigt eine einfache Benutzeroberfläche an
  r Zeigt eine eingeschränkte Benutzeroberfläche an, bei der am Ende der Installation ein modales Dialogfeld geöffnet wird
  f Zeigt eine uneingeschränkte Benutzeroberfläche an, bei der am Ende der Installation ein modales Dialogfeld geöffnet wird
  n+ Zeigt außer einem modalen Dialogfeld am Ende der Installation keine Benutzeroberfläche an
  b+ Zeigt eine einfache Benutzeroberfläche an, bei der am Ende der Installation ein modales Dialogfeld geöffnet wird.
  b- Zeigt eine einfache Benutzeroberfläche ohne modale Dialogfelder an