Und hier geschieht ein Wunder! - Installer bauen auf der #dwx14

Chef: “Und Schmitt? Ist unser neuer Quanten-Warp-Dimensions-Taschenrechner für Windows Desktop fertig?

Schmitt: “Ja Chef! Wenn Sie ihn testen wollen, müssen Sie nur das Multiphasen SDK installieren, sämtliche Dateien in das Programme Verzeichnis kopieren und kurz die 47 Registry Strings anlegen, die ich Ihnen gleich maile. Die Datenbankverbindung konfigurieren Sie dann in der app.config Datei, und in der…

Chef: “Halt! Stop! Das geht so nicht! Das muss automatisiert werden, warum haben wir denn keinen Installer?

projektplanungGenau jetzt stellt sich die Frage, wie denn nun eigentlich dafür Sorge getragen wird, dass unsere zahlenden Kunden auch möglichst bequem dazu in die Lage versetzt werden, unsere neuste Software einzusetzen. Der Installer ist hier ein essentieller Projektbestandteil, der nur zu gerne vernachlässigt wird und gerne auch erst viel zu spät eingeplant wird.

Beim ersten Projekt stellt sich dann auch noch die Frage, wie man dies überhaupt realisieren kann…

- Selber ein Programm entwickeln, dass die Arbeit durchführt? Wohl kaum. Der Aufwand wäre deutlich zu hoch.

- Drittanbieter-Software wie bspw. InstallShield für die Erstellung verwenden? Schon besser, bringt aber Lizenzkosten mit sich und ist grade für komplexe Szenarien auch nur sehr komplex zu bedienen.

Wie wäre es ansonsten mit Windows Installer XML (WiX)? WiX basiert - wie der Name schon sagt - auf XML, jeder Entwickler wird sich hier also schnell zu Hause fühlen. Da es ein Open Source Produkt ist, fallen auch keine Lizenzkosten an, außerdem gibt es eine konsequente und zügige Weiterentwicklung. Und das Beste für uns Entwickler ist dabei, dass es Visual Studio Projekttemplates gibt, wodurch die Erstellung des MSI’s auf ein simples Kompilieren eben jenen Projektes reduziert wird! Der Buildprozess muss also nicht durch etwaige Aufrufe von Fremdsoftware aufwändig erweitert werden, um die Routinen zum Erstellen des MSI’s zu steuern.

Das die Erstellung eines Installers nichts mit Wundern zu tun hat, sondern tatsächlich für die meisten Fälle sogar relativ einfach zu realisieren ist, zeigen wir in der Session “Installer bauen leicht gemacht” auf der diesjährigen DWX!

Roaming Profiles Reloaded - Verantwortung bei dem, der es besser weiß

Administratoren kennen das Problem: Roaming Profiles sind in der Größe begrenzt und die Startdauer des Systems hängt stark davon ab, wieviele Dateien sich darin befinden und wie hoch die Pingzeit ist. Viele kleine Dateien erhöhen bei hoher Pingzeit das Laden des Profils erheblich, während gleichzeitig die Profilgrenze regelmäßig von verschiedenen Applikationen gesprengt wird.

Schon immer gibt es daher die Möglichkeit, über Gruppenrichtlinien einzelne Verzeichnisse vom Roaming auszuschließen. Das Problem: Es ist nicht transparent, wo eine Applikation was für Verzeichnisse ablegt und wozu sie dienen. Das "Wo" und "Was" kann ein Paketierer noch herausfinden (was aber mit zusätzlichem Aufwand verbunden ist und daher kaum jemand tut) aber über das "Wozu" kann meistens nicht einmal der Fachanwender etwas sagen.

Und damit ist häufig der Grundstein für ein Problem gelegt, das erst viel später zum Tragen kommt und den Anwender - wenn er sich mal wieder nicht abmelden kann, da der Profilspeicherplatz überschritten wurde und das ProQuota-Tool von Microsoft noch immer keine Hilfe bei der Lösung des Problems ist, oder das Anmelden auch mal zehn Minuten dauert - an der Idee eines Roaming-Profiles zweifeln lässt. Dabei kann die Technologie nichts dafür. Sie hat sogar deutliche Vorteile:

  • Daten aus dem Profil unterliegen dadurch einer automatischen Datensicherung, da sie beim Abmelden auf den Server kopiert werden.
  • Bei der Anmeldung an einem anderen Computer erhält der Anwender die gleichen Daten und Einstellungen und kann wie gewohnt arbeiten.

Dennoch: Das Grundproblem bleibt.

More...

Über die Autoren

Christian Jacob ist Leiter des Geschäftsbereiches Softwarearchitektur und -entwicklung und zieht als Trainer im Kontext der .NET Entwicklung sowie ALM-Themen Projekte auf links.

Marcus Jacob fokussiert sich auf die Entwicklung von Office-Addins sowie Windows Phone Apps und gilt bei uns als der Bezwinger von Windows Installer Xml.

Martin Kratsch engagiert sich für das Thema Projektmanagement mit dem Team Foundation Server und bringt mit seinen Java- und iOS-Kenntnissen Farbe in unser ansonsten von .NET geprägtes Team.

Aktuelle Kommentare

Comment RSS