Als Software-Entwickler muss man sich neben der Entwicklung neuer Software manchmal auch um die Verteilung beispielsweise über Windows Installer Technologien befassen. Schlägt eine Installation fehl, kommt man meist nicht darum, sich die Details anzuschauen. Dazu muss ein Logfile zum Installer erstellt werden, indem dem Windows Installer ein Parameter mitgegeben wird:
msiexec /i [PfadZumMsiPaket] /l*v [PfadZumLogFile]
Beispiel: msiexec /i MeinSetupProjekt2015.msi /l*v MeinInstallerLog.txt
Schaut man das erste Mal in so ein Logfile, so sieht es nicht besonders hilfreich aus:
Analysiert man solche Logfiles öfter, findet man sich irgendwann doch noch schnell darin zurecht.
Vor kurzem bin ich über ein nützliches Werkzeug zum Analysieren vom Windows Installer Logfiles gestoßen: Microsoft Installer Verbose Log Analyzer (WiLogUtl.exe), das Bestandteil des Windows Installer SDKs ist.
Zu finden ist das Programm dann auch der Festplatte unter %ProgramFiles%\Windows Kits\8.1\bin\x86:
Nach dem Laden des Logfiles kann man dieses dann analysieren lassen:
In meinem Fall habe ich die Ausführung mit erhöhten Rechten abgelehnt. Klickt man dann auf „Analyze“, so wird folgender Dialog geöffnet:
Der erste Fehler wird direkt in der oberen Liste angezeigt. Über die Buttons „Next“ und „Previous“ kann dann zwischen den Fehlern im Logfile navigiert werden.
Es lassen sich auch die Properties und deren Werte in einer Übersicht anzeigen:
Dabei können die Properties sowohl auf Client-Seite (z.B. während der Erfassung von Installationspfad, Auswertung von Launch-Conditions, …) angezeigt werden als auch bei der Ausführung, wenn das Installationspaket vom Windows Installer Service ausgeführt wird. Sehr praktisch!
Über den Button „Policies“ in der Analyse kann man sich die Berechtigungen anzeigen lassen, die beispielsweise per Gruppenrichtlinie an den Rechner verteilt wurden:
Auch sehr praktisch ist das Erzeugen eines HTML-Reports aus dem Logfile:
Die einzelnen Kategorien des Logfiles sind dann farbig hinterlegt, was das Lesen der Logdatei deutlich angenehmer macht.
Dieses HTML-Logfile kann auch automatisch über einen Kommandozeilen-Parameter erzeugt werden:
wilogutl /q /l c:\mymsilog.log /o c\outputdir\
(siehe https://msdn.microsoft.com/en-us/library/aa372811(v=vs.85).aspx )
Weitere nützliche Links zum Analysieren von Windows Installer Logfiles:
- http://robmensching.com/blog/posts/2010/8/2/the-first-thing-i-do-with-an-msi-log/
- http://www.joyofsetup.com/2008/07/15/verbose-logging-from-wcautil/
Alternative: der (auch für kommerzielle Zwecke kostenlose) Logit Log Viewer, der auch MSI Logs anzeigen kann
Quelle: http://www.legitlog.com/Products/LegitLogViewer
Wichtiger Hinweis: „=== Verbose logging started“ (erste Zeile) muss aus dem Logfile entfernt werden, da sonst der Logfile Viewer dieses Format nicht verarbeiten kann.