2010-02-04 8 views
19

Programmierer, die ihre Produkte tatsächlich für die Produktion bewerben, benötigen einen Installer. (Präemptive justificaton „Programmierung im Zusammenhang“.)Installer-Funktionen, WIX vs InstallShield Express

Für eine neue Suite von unternehmensinternen Anwendungen und Diensten bereitstellen, ich versuche, zwischen der Verwendung von WIX und die Installshield Express Edition zu entscheiden, die mit Visual Studio kommt 2010

Ich habe gesucht, aber habe keine Feature-Matrix gefunden, die die Funktionen hervorhebt, die nicht in der Express-Ausgabe sind. Ich erwarte, dass WIX im Allgemeinen ziemlich fähig, aber schwieriger zu verwenden ist, und von situations that WIX doesn't support well.

gehört Hat jemand eine Feature-Matrix gefunden, oder haben andere Empfehlungen auf die langfristige beste Möglichkeit, interne Bereitstellungen zu verwalten?

http://www.flexerasoftware.com/products/installshield/features.htm

jedoch für den IIS-Abschnitt (Ich gehe davon aus Sie II müssen auf den Link auf meine frühere Frage basiert) alles was man sagt, ist ":

+1

Die mit Visual Studio 2010 verfügbare Version von InstallShield ist nicht die Express Edition, sondern eine Limited Edition: http://blogs.msdn.com/somasegar/archive/2009/12/14/building-setup-and-deployment -Packages-in-vs-2010.aspx Wenn Sie VS2010 Betas versuchen, sollten Sie in der Lage sein, die InstallShield Limited Edition Betas auch zu versuchen, um zu sehen, ob sie Ihren Bedürfnissen entsprechen. –

Antwort

10

Ich finde, dass Wix eine große Auswahl (trotz der sehr sehr steil Lernkurve) ist, wenn Sie Installateure in einer komplexen Umgebung verwalten müssen, weil

  • Setup-Definitionen in einem XML-Format gespeichert werden
  • es gibt Ihnen die volle Kontrolle über die zugrunde liegende Windows-Installer-Technologie; das XML-Schema folgt in der Regel eng die Installationsdatenbankschema-Fenster (die auch der Hauptgrund, warum die Lernkurve so steil ist)
  • Es ist leicht zu integrate into your automated build
  • Teile der Einrichtung generated automatically
  • Es Ihnen sein kann um kleine wiederverwendbare Module zu definieren und komplexe Abhängigkeiten zwischen ihnen zu verwalten.
  • keine Kosten oder Lizenzfragen ein Vorteil ist

Warum das XML-Format (vor wix wir alle einen einzigen „Installshield PC“ verwenden musste): dies ermöglicht es Ihnen voll Code Versionsverwaltungssysteme wie Subversion oder Mercurial zu nutzen . Das Überprüfen von Änderungen, das Überprüfen des Verlaufs oder sogar das Zusammenführen von Änderungen zwischen Zweigen ist ein Kinderspiel.Vergleichen Sie das mit installshield-Projekten, bei denen es sich um undurchsichtige binäre Blobs handelt.

Was ich meine, durch die Verwaltung komplexer Abhängigkeiten: In unserem Fall haben wir einen großen Pool von wiederverwendbaren Komponentenbibliotheken mit einem komplexen Satz von Abhängigkeiten zwischen ihnen und viele Anwendungen, die darüber hinaus gebaut wurden. Vor Wix war das ein Albtraum, als irgendwo eine neue Abhängigkeit eingeführt wurde: ALLE Setups mussten aktualisiert werden.

Jetzt mit Wix, haben wir eine ComponentGroup für jede Bibliothek, in ein Paar organisiert wixlibs. Jede Komponentengruppe verweist auf andere Komponentengruppen, von denen sie abhängig ist, mit einer ComponentGroupRef. Anwendungs-Setup-Entwickler müssen nur auf die Komponentengruppen direkter Abhängigkeiten verweisen, und wix erledigt den Rest, indem er den Referenzen folgt. Daher erfordert die Einführung einer neuen Abhängigkeit nur eine einzige lokale Änderung. Unsere automatisierten Builds und Wix machen den Rest, um alle Setups zu regenerieren.

+0

Danke, Sie haben mich davon überzeugt, mit WIX zu gehen. Ich hoffe, wir können es so reibungslos wie möglich machen. – DanO

+1

eine vollständige Probe mit Wix? – Kiquenet

1

Die Merkmalsmatrix für kann Installshield hier zu finden Begrenzt". Es liegt an Ihnen zu raten, was Limited bedeutet, aber ich wette, es wird keine Bereitstellung auf Unternehmensebene unterstützen.

+0

Danke für das Finden der Details. Ich bin sicher, dass Sie mit den Einschränkungen recht haben. Sie müssen genau die Dinge begrenzen, die ein Unternehmenskunde benötigen würde, um den Umsatz von Kunden mit Unternehmensgeldern zu steigern. – DanO

6

InstallShield Express ist für grundlegende Bereitstellungen (es ist nichts anderes als verherrlichter WinZip). Sie können auch meine Lieblings AdvancedInstaller überprüfen. Sie haben auch kostenlose Express-Edition, aber ich denke, beide werden Ihnen nichts nützen, denn wenn Sie etwas mit IIS, MS SQL, Active Directory, GAC usw. tun müssen, werden Sie "Enterprise Level" -Editionen benötigen. WiX ist kostenlos, aber die Lernkurve ist so steil, dass es sich nicht lohnt zu lernen. Ich bereue es, es jemals gelernt zu haben.

Wenn Sie dies nur für interne Bereitstellungen benötigen und nicht $ 1.000 für Installer ausgeben können, erstellen Sie einfach Ihr eigenes "Installationsprojekt" von Grund auf neu. System.EnterpriseServices.Internal Namespace enthält einige nützliche Wrapper für IIS, GAC usw. System.Configuration.Install.ManagedInstallerClass kann Ihnen bei der Bereitstellung von Windows-Diensten helfen. Mit anderen Worten, Sie können Ihr eigenes Programm von Grund auf neu erstellen, das alle notwendigen Schritte für die Bereitstellung Ihres primären Produkts übernimmt. Viele Unternehmen verwenden für ihre Flaggschiff-Produkte nicht kommerzielle Installateure, sie machen ihre eigenen.

+0

Danke für den Zeiger weg von InstallShield und in Richtung der .NET-Klassen für benutzerdefinierte Installationsoptionen. Das kann uns helfen. Ich denke, ich werde WIX eine Chance geben, aber wenn ich so viel Ärger habe wie du, dann ist es gut zu wissen, dass andere Firmen einfach ihre eigenen Installer machen, wenn es nötig ist. – DanO

+0

Sie können nicht 1000 für einen Installer ausgeben, aber Sie können Wochen der Entwicklung "verschwenden" (Entwickler kosten Geld), um Ihre eigenen zu bauen? – anon2009

+4

@ anon2009, es mag überraschend sein, aber in den meisten Unternehmen ist es für Entwickler einfacher, wochenlang an einem eigenen Installer zu arbeiten als an einem überzeugenden Management, um ein 1000-Dollar-Tool zu kaufen. Außerdem kostet die Enterprise-Lizenz in der Regel pro Entwickler 1000 US-Dollar. In größeren Unternehmen ist es also billiger und flexibler, ein eigenes Tool zu entwickeln, als Dutzende von Lizenzen zu kaufen. –