Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

MSI Artikel in der aktuellen dotnetpro


2 replies to this topic

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 25 June 2004 - 14:35

In der aktuellen Ausgabe 7/8 2004 der Zeitschrift dotnetpro sind zwei Artikel zu Windows Installer Themen enthalten:

Installation von Server-Datenbanken mit .NET Klassen beschreibt, wie man durch die Ausführung von T-SQL Statements eine Datenbank auf einem SQL-Server einrichten und bei der Deinstallation wieder löschen kann. Dabei werden auch Stored Procedures verwendet, die beim SQL Server bereits fest eingebaut sind, etwa um Benutzer anzulegen. Das Beispiel setzt allerdings voraus, dass der SQL Server mit Windows Authentication arbeitet. Der Beispiel-Code der Custom Actions ist in C# geschrieben.

Installationen ohne Grenzen – In diesem Artikel zeigt Andreas Kerl, Autor des Buches Inside Windows Installer, wie man Custom Actions mit C# schreiben kann. Windows Installer kann dazu zwar eine von System.Configuration.Install.Installer abgeleitete Klasse aufrufen, dies ist aber nur während der Install Execute Sequenz möglich. Möchte man die Custom Action an beliebiger Stelle aufrufen, z.B. in der Benutzeroberflächen-Sequenz, muss man sie über den Inverse Platform Invocation Service zugänglich machen. Der Artikel beschriebt, wie man dazu die Assembly modifizieren muss und stellt dazu auch ein Tool bereit.

Die Artikel sind online nur für Abonnenten der Zeitschrift zugänglich. Abo und Einzelheft-Bestellungen unter http://www.dotnetpro.de

stegerwald

stegerwald
  • Members
  • 7 posts

Posted 28 June 2004 - 12:28

Nach der Lektüre der Artikel stellt sich mir folgende Frage:

Macht es da überhaupt noch Sinn, ein teures Setup-Tool von
Installshield zu benutzen, wenn ich als .NET Entwickler
mit Visual Studio .NET und .Net Code als Custom Action
doch praktisch jede Setup-Aufgabe elegant meistern kann???

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 28 June 2004 - 13:21

Die Frage ist: willst du auch für diese Aufgaben selbst eine Custom Action schreiben, und hast du das nötige Know-How?
Ausserdem kann MSI auch ohne Custom Actions mehr, als Visual Studio preis gibt. Für für solche eingebaute Funktionalität sollte man keine Custom Actions schreiben.

Der SQL-Artikel zeigt auch nur das grundsätzliche Vorgehen. Er funktioniert z.B. nicht mit SQL Authentifizierung, enthält keinen Dialog zur Eingabe von Account und Passwort und keine Funktion, um diese Eingaben schon während der UI Sequenz zu überprüfen. Er führt auch keine Text-Ersetzung in SQL Scripts durch und enthält keinen Assistenten zum Erzeugen eines solchen SQL Skripts. Natürlich kann man das alles nachrüsten, es ist nur eine Frage des Aufwandes (und des Know How).

Es haben auch schon etliche Leute gesagt, ein Programm zum Erstellen von MSIs könne man doch recht einfach selbst schreiben. Einige dieser als Alternative zu InstallShield, Wise & Co. angekündigten Projekte stehen inzwischen als Bauruinen z.B. auf SourceForge.net.
Aber ich will das nicht verallgemeinern, denn im Prinzip hast du recht: es geht auch ohne InstallShield - das ist ja das schöne an einem Standard wie MSI. Erfolgreiche Projekte wie WiX belegen das. Es ist halt immer eine Frage des Aufwandes, und die muss jeder für sich selbst beantworten.