MSI Logs komfortabel auswerten/analysieren

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:

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.

Die DotNet Cologne 2013 (#dnc13)

2013-05-03 09.17.38Dieses Jahr war die dotnet cologne 2013 eine besondere Konferenz für mich: ich habe erstmals auf einer Entwickler-Konferenz einen Vortrag gehalten. Das Thema war “Einstieg in das Windows Installer XML (WiX) Toolset”.

Der Raum war wirklich gut gefüllt und es hat mir wirklich viel Spaß gemacht. Auch Dank der freundlichen Unterstützung meines überraschenden  “Co-Referenten” Sebastian Seidel zu den Fragen während des Vortrags war die Session aus meiner Sicht ein Erfolg.

Die Folien habe ich auf SlideShare hochgeladen:
http://de.slideshare.net/minibrain/einstieg-in-das-windows-installer-xml-wix-toolset

Die gezeigten Codebeispiele liegen auf github:
https://github.com/minibrain/DNC13

Nach dem Vortrag gab es noch zahlreiche interessante Diskussionen zum Thema Windows Installer, MSI und Windows Installer XML Toolset. Vielen Dank an dieser Stelle nochmals an alle Teilnehmer!

Während meines Vortrags gab es noch weitere Vorträge, die mich sehr interessiert hätten. “Hackers Reverse Engineering Uncovered” von Rüdiger Kügler war einer davon. Glücklicherweise hat sich im Gespräch später am Stand von WiBu Systems ergeben, dass demnächst der Vortrag in einem webcast wiederholt wird. Das werde ich mir dieses Mal nicht entgehen lassen Smiley

Die Lunch-Session und die folgende Session stand ganz im Zeichen von Usability und User Experience. War wirklich mal interessant, einen Einblick in einen Entwicklungsprozess zu bekommen, der einen Focus auch auf Usability hat. Der Vortrag “WPF UI Development Best Practices” drehte sich im ersten Teil auch um Usability und besprach dann WPF Best Practices natürlich mit Focus auf Usability!

Timur Zanagar hat dann im Vortrag zu “Mobile .NET Entwicklung mit Xamarin 2.0” die Entwicklung mobiler Applikationen für iOS, Android, Windows Phone und MacOS unter Xamarin 2.0 gezeigt. Auch hier haben die zahlreichen Diskussionen zu einer wirklich guten Atmosphäre geführt. Hier muss ich unbedingt mal ein wenig Zeit investieren und eine eigene Android App basteln Smiley

Den Abschluss meiner .NET Cologne 2013 machte der Vortrag von Dennis Traub “Strategischer Anwendungsentwurf mit Domain-Driven Design”. Wirklich interessant, aber schon etwas schwere Kost zum Abschluss.

Alles in allem war diese dotnet cologne 2013 für mich noch etwas besser als die letztes Jahr. Die Organisatoren Albert Weinert, Roland Weigelt, Stefan Lange und Melanie Eibl haben wieder einmal eine tolle Konferenz organisiert. Dankeschön nochmals an dieser Stelle!