Buy or Build für die Webbereitstellung? [geschlossen]

8

Ich habe die breite Palette von Installations- und Webbereitstellungslösungen für Windows-Anwendungen untersucht. Ich werde hier nur (ohne zu viele Details, diese Tools wurden in anderen Fragen behandelt) mein Verständnis der Optionen klären:

  • NSIS - Kostenloses Tool, das Setup-Executables generiert. Kleine Binärdatei. Spezialisierte, manchmal stumpfe Skriptsprache.
  • Inno-Setup - Kostenlose Tools für ausführbare Setup-Dateien. Verschiedene binäre Komprimierungsschemata. Pascal Scripting Engine.
  • WIX - Kostenloses Toolset zum Generieren von MSI-Binärdateien. XML-Definitionen Sprache.
  • WIX ClickThrough - Zusätzliche Tools zum Packen, Web-Download und automatischen Update-Erkennung (jetzt Teil des WIX-Kerns).
  • InstallShield - Kommerzielle Entwicklungsumgebung für Installationspakete. Erzeugt MSI-Binärdateien. C-ähnliche InstallScript-Sprache.
  • Wise - Kommerzielle Entwicklungsumgebung für Installationsverpackungen. Erzeugt MSI-Binärdateien.
  • ClickOnce - Von Visual Studio unterstütztes Framework zum Veröffentlichen von Anwendungen auf einem Webserver mit automatischer Erkennung von Updates. Keine Unterstützung für benutzerdefinierte Installationsanforderungen (INI-Dateien, Registrierung usw.). Pakete werden als MSI-Binärdatei eingerichtet.
  • Install Aware - Kommerzielle Entwicklungsumgebung für die Installation. Erzeugt MSI-Binärdateien. Automatisches Update-Framework (Web Update).

Wenn ich welche verpasst habe, lass es mich wissen.

Und einige nützliche Diskussionen über diese Technologien auf StackOverflow gefunden:

Ich habe mit einigen dieser Lösungen sowie einer Handvoll proprietärer interner Installationslösungen gearbeitet. Sie befassen sich hauptsächlich mit Pack-Installationen und bieten einen Rahmen für Entwickler, um auf die Laufzeitumgebung zuzugreifen. Angesichts der wachsenden Nachfrage nach Web-Deployment und automatischen Softwareupdates, erwartete ich mehr Übereinstimmung zwischen den Entwicklern über ein Framework für die Bereitstellung von Software im Internet und nachfolgende Updates. Ich habe diesen Konsens nicht wirklich gefunden. Es gibt sicherlich Lösungen (ClickOnce, ClickThrough, InstallShield Update Service), aber sie haben jeweils erhebliche Einschränkungen (bitte korrigieren Sie mich, wenn ich eine davon falsch darstelle). Ich wäre an einem Rahmen interessiert, der einige der folgenden Punkte bereitstellte:

  • Hosting / Verwaltung von Updates durch Dritte.
  • Zugriff auf die Client-Umgebung (INI-Dateien, Registrierung usw.).
  • Benutzerregistrierung / Aktivierung.
  • Rückmeldung / Fehlerbericht

Dies hinterlässt bei mir den starken Eindruck, dass der beste Weg, das Web-Bereitstellungsproblem anzugehen, eine maßgeschneiderte proprietäre Lösung ist (möglicherweise vorhandene Installationspakete ausnutzen). Ich habe gesehen, dass diese Art von Lösung für eine Reihe erfolgreicher Anwendungen gut funktioniert:

  • FileZilla - HTTP-Anfrage an update.filezilla-project.org, um nach Updates zu suchen, eine NSIS-Binärdatei herunterzuladen (denke ich) und dann herunterzufahren, um die Installation auszuführen.
  • Automatische Updates für Massive Multiplayer-Spiele sind absolut notwendig und werden universell mit proprietären Systemen implementiert.

Also endlich zu meinen Fragen:

  • Habe ich ein Webbereitstellungs-Framework verpasst, das die benötigte Funktionalität bietet?
  • Sind meine Anforderungen zu spezifisch, um vernünftigerweise zu erwarten, dass ein fremder Rahmen geliefert wird?
  • Soll ich kaufen oder bauen?
RedBlueThing 23.03.2009, 03:22
quelle

4 Antworten

2
  • Wenn Ihre spezifischen Anforderungen für Ihr Unternehmen von zentraler Bedeutung sind; Ein Teil Ihres Unternehmens besteht darin, eine reibungslose und benutzerfreundliche Bereitstellung / Installation bereitzustellen, und Sie haben das Gefühl, dass Ihnen keine der verfügbaren Bereitstellungsbibliotheken dies ermöglichen kann. Dann können Sie sicherlich Ihre eigenen erstellen.
  • Wenn Ihre spezifischen Anforderungen wünschenswert wären, aber sie keinen wesentlichen Teil Ihres Geschäfts ausmachen; dh der Endanwender wird normalerweise keine reibungslose Installationsprozedur erwarten oder benötigen, oder wird dies nie selbst tun müssen (dh sie geben diesen Schritt an ihre IT-Abteilung weiter), dann ist die Notwendigkeit, Ihre eigenen nur für Ihre eigenen spezifischen Anforderungen zu bauen wahrscheinlich aufgewogen durch den zusätzlichen Aufwand, der damit verbunden wäre.

Ich denke, dass Ihr Eindruck, dass Sie eine benutzerdefinierte Lösung benötigen, eine solide ist; Es scheint, dass Ihre Anforderungen für die Erfahrung Ihres Produkts entscheidend sind, insbesondere wenn Sie automatische Updates und Feedback benötigen.

    
thomasrutter 23.03.2009, 03:39
quelle
12

Ich würde auf Installaware dringend warnen. Wir hatten kürzlich eine schockierende Erfahrung mit ihrer Kundenbetreuung.

Wir haben eines ihrer Beispielprojekte zu dem Brief verfolgt, der kläglich gescheitert ist. Ich habe ein Support-Ticket mit Kunden-Support erhalten und mir wurde gesagt, dass es uns $ 199 kostete, damit sie ihren eigenen Code reparieren konnten.

Wir haben das gleiche Problem in den Benutzerforen angesprochen und wurden sofort verboten, weil dies eine Querversetzung darstellte und nicht erlaubt war. Auch wenn dies in ihren Geschäftsbedingungen nicht erwähnt wird. In der Tat haben sie unsere IP verboten, so dass niemand in unserer Firma in Foren posten kann.

Eine sehr schlechte Erfahrung und eine, die wir nicht wiederholen werden. Wir versuchen jetzt, Installaware so schnell wie möglich zu ersetzen.

Kaufen Sie Installaware auf eigene Gefahr.

    
Justin 08.04.2009 00:42
quelle
10

Absolut einverstanden mit dem Plakat, das gesagt hat, weg von InstallAware zu bleiben. Sie hatten eine lange Geschichte von wirklich absurden ethischen Problemen, und sie behandeln ihre eigenen Kunden fürchterlich. Sie können geradezu beleidigend und beleidigend sein.

Vorsicht InstallAware!

    
David J. 16.09.2009 19:11
quelle
4

Ich stimme vollständig mit InstallAware überein.

Nachdem ich WiX, NSIS und InstallAware benutzt habe, muss ich demütig zugeben, dass sie allesamt zu viel für das waren, was ich als Softwareentwickler wirklich brauche. Es gibt bisher keine Projekte, die nicht mit dem Visual Studio-Bereitstellungsprojekt bereitgestellt werden konnten.

Ist es begrenzt? Ja.

Es ist auch sehr einfach, eine Verwendung zu erlernen. Darüber hinaus können Sie wirklich wirklich nette Sachen machen, wie Patches (.MSP-Dateien) automatisch erstellen, indem Sie Techniken wie beschrieben verwenden hier

Ich verstehe vollständig, dass Sie alles nicht innerhalb eines Visual Studio-Setup-Projekts tun können, aber es ist ziemlich überraschend, was Sie erreichen können . Es ist kostenlos, es ist einfach und, ehrlich gesagt, für den allgemeinen Gebrauch ist eine bessere Option als endlose Stunden lernen WiX verblüffenden XML (beeindruckend wie es ist) oder InstallAware's ausführliche Skripte ...

Bei VS Setup ist Drag'n'Drop & amp; Build'n'Deploy. Jede andere Lösung, die ich ausprobiert habe, hat sich zurückgebildet ... Sie können Ihre Projektausgabe nicht automatisch erkennen ... oder benötigen spezielle Filter, um unerwünschte Ausgaben aus dem Build nicht einzubeziehen.

Mein Vorschlag lautet also: Wenn Sie Ihr Projekt einfach bereitstellen möchten, dann lernen Sie:

  1. Erstellen einer benutzerdefinierten Installer-Klasse und
  2. So erstellen Sie Ihre eigenen vorausgesetzten Pakete

Dies sind sowohl relativ einfache Fähigkeiten zu meistern, und die Bedürfnisse der meisten Entwickler zu befriedigen.

    
Mark 30.09.2009 17:56
quelle