2009-05-28 26 views
26

Ich habe eine Menge Dokumentation über Installationsprogramme gelesen und bin nicht auf etwas Gutes gestoßen, das die zugrunde liegenden Konzepte erklärt. Der Großteil der Installer-Software, auf die ich gestoßen bin, basiert auf der gleichen "Datenbank" -ähnlichen Struktur, die ich überhaupt nicht verstehe.Gibt es eine definitive Dokumentation zum Schreiben von Software-Installern?

Die gesamte Dokumentation, die mit den verschiedenen Produkten geliefert wird - also WiX, InstallAware, Wise, InstallShield usw. - erwartet, dass Sie diese zugrundeliegenden Konzepte verstehen [was ich einfach nicht verstehe], um zu verfolgen, worüber sie sprechen .

Kann mir jemand auf die Dokumentation verweisen, die die Konzepte von Software-Installern erklärt, so dass die Software-Dokumentation eigentlich Sinn macht?

+0

Große Frage. Ich habe einen Blog-Artikel zu diesem Thema erstellt: http://blog.deployentengineering.com/2010/07/back-to-basics-i.html –

Antwort

3

(MSDN, About Windows Installer) ist das sein Startplatz für gute 'Allgemein' Informationen zur Installation unter Windows. Alle Installationsprogramme, die "MSI-basiert" sind, beziehen sich auf diese Konzepte.

Die einzigen "anderen" Installer-Typen (in der Windows-Welt) ist NSIS, die wirklich nicht für Enterprise-Installationen gedacht ist (ich möchte hier keine Debatte über prozedurale vs. nicht-prozedurale Installer starten).

Installieren Sie Zeug ist wirklich komplex mit fortgeschrittenen Konzepte wie Werbung, Wiederherstellungspunkte, Patches und Transformationen und dergleichen, aber wenn Sie es bekommen können Sie einige ziemlich coole Dinge, wie die work-around TFS 2008 mit SQL 2008 zu bekommen ., was Sie tun müssen, ist "Patch" der TFS 2008 RTM installieren mit dem TFS 2008 SP1 installieren mit einem Befehl wie diese

TFS 2008 nicht SQL 2008, aber TFS 2008 SP1 der Fall ist, so unterstützt:

msiexec /a C:\TFS\RTM\AT\vs_setup.msi /p C:\TFS\SP1Extract\TFS90sp1-KB949786.msp TARGETDIR=C:\TFS\ATIntegrated 

aber das Ergebnis ist etwas, das Sie nicht als "TFS 2008 mit SP1" austeilen können.

+0

Gibt es irgendwelche Nicht-MSI-basierte Installer beachten? Das ganze Konzept der MSI-Installateure ergibt für mich keinen Sinn. Gibt es andere bemerkenswerte/brauchbare Installer-Konzepte für Windows? – BobTheBuilder

+0

Ob Sie MSIs mögen oder nicht, das ist es, was Microsoft verwendet, was Visual Studio erstellt und was das Kontrollfeld "Hinzufügen/Entfernen" auflistet. Sie können ein EXE-basiertes Installationsprogramm erstellen, aber Sie geben viel auf, was MSIs bieten, und müssen viel mehr arbeiten. –

+0

Das einzige Nicht-MSI "von Bedeutung" ist NSIS. Im Allgemeinen von Programmierern verwendet, die es aufgegeben haben, die Frage zu beantworten, die Sie stellen möchten;) – saschabeaumont

2

Die beste Einführung in Windows Installer, die ich gesehen habe, ist Phil Wilson ’ s Buch Definitive Guide to Windows Installer. Dies wurde 2004 geschrieben und hat keine Vista oder Win7-spezifischen Funktionen.

Die beste Seite, die ich für Windows-Installer gesehen habe, ist www.installsite.org. Es enthält einige einführende Artikel, richtet sich jedoch an Experten.

1

Wenn Ihre Installationsanforderungen nicht sehr komplex sind, würde ich vorschlagen, InnoSetup auszuprobieren. Ich habe es vor einigen Jahren in einer Suite von Windows-Anwendungsprogrammen eingesetzt und hatte keine Beschwerden. Viel einfacher als InstallShield und MSI, aber Ihre Laufleistung kann variieren.

Ich bin in keiner Weise mit InnoSetup verbunden.

+0

Die meisten der Probleme, die ich hatte, waren nicht mit grundlegenden Installationen, die meisten von ihnen sind ziemlich einfach zu grundlegenden Sachen zu verwenden. Wenn Sie etwas außerhalb von Basic tun müssen, also benutzerdefinierte Formulare und Funktionen hinzufügen, wird es komplett unverständlich. – BobTheBuilder

0

Ein guter Ort, um zu lernen, wie ein Installateur arbeitet, ist der Code.

+0

Ich würde eher empfehlen, den NSIS-Quellcode zu lesen, um die Installation zu lernen (unter Windows), es bezieht sich wirklich nicht auf das, was alle anderen Methoden benutzt haben. Was Inno angeht, bin ich nie dazu gekommen. – JasonRShaver

16

aktualisiert - seit meinem ursprünglichen Beitrag, WiX: A Developers Guide to Windows Installer XML wurde veröffentlicht und ist auch eine gute Ressource für Anfänger. (Ich fand es allerdings nicht so toll.) Ich empfehle immer noch, The Definitive Guide to Windows Installer als Ausgangspunkt zu lesen. Windows Installer und WiX ist nicht etwas, das Sie nur in ein paar Tagen abholen, es wird ein paar Monate dauern.


Gehen Sie eine Kopie von The Definitive Guide to Windows Installer abholen. Ich habe vergessen, wie oft ich es Leuten empfohlen habe, die an den Konzepten feststecken und Probleme haben zu verstehen, wie Windows Installer funktioniert. Stellen Sie sicher, dass Sie auch die Windows Installer SDK greifen.

Um mit Windows Installer zu begreifen, ist die erste Stufe Ihres Lernens, sobald das versenkt ist, werden Sie verstehen, wie InstallShield funktioniert (oder nicht funktioniert, wie der Fall sein kann ..). Wise, InstallShield usw. versuchen, Sie vor den zugrunde liegenden Konzepten zu schützen und haben ihre eigenen Tricks/Hacks, um die Einschränkungen von Windows Installer zu umgehen.

Stufe zwei (wenn Sie ernsthaft über Windows Installer zu verstehen) lernt WiX (Die WiX Tutorial ist nicht so schlecht, obwohl es veraltet etwas ist und gezielt auf WiX 2.0 statt 3.0) und die wix-users mailing list Beitritt. Treten Sie nicht der Benutzerliste bei, bis Sie das oben erwähnte Buch beendet haben, Sie werden sich wohlfühlen. Fragen von denen, die die Windows Installer-Konzepte nicht verstehen, werden größtenteils ignoriert, jedoch werden Fragen von Leuten, die ihre Hausaufgaben gemacht haben, eine große Ressource sein.

Was in diesem Buch nicht behandelt wird, ist Vista, Robert Flamings Blog Einträge auf Understanding UAC and Vista (geschrieben, wenn Vista in seiner Beta-Phase war) sind die besten Informationen, die Sie zu dem Thema finden.

Eine Sache, die beide Windows Installer und WiX-Teams wirklich gut ist, ist die Dokumentation (Hilfedateien) auf dem neuesten Stand zu halten. Jedes Mal, wenn ich auf Setups arbeiten werde ich habe in der Regel Wix.chm und Msi45.chm offen auf einem Monitor;)

Neben der Dokumentation, Blogs von Menschen auf den WiX und Windows Installer-Teams groß sind Zum Erlernen neuer Tricks usw. Viel zu viele, um sie hier aufzulisten, aber sobald Sie die Terminologie kennen, werden Sie feststellen, dass die meisten von ihnen in Google-Suchergebnissen auftauchen.

Wenn das alles zu viel scheint, dann schauen Sie sich NSIS an. Großartig für einfache "Ich muss nur Dateien kopieren" -Typ-Installationen, nicht so gut für Unternehmensbereitstellungen. Wenn du zwischen den beiden hin- und hergerissen bist, dann schau dir vielleicht Rob Menschings alten Blog when setup isn't just xcopy an. Artikel, die mich davon überzeugt haben, dass das Eintauchen und Lernen der zugrundeliegenden Windows Installer-Konzepte sich auf lange Sicht auszahlen würde.Und es hat :)

+0

Wenn das alles zu viel ist würde ich InnoSetup persönlich empfehlen (auch kostenlos); Es hat ein ähnliches Feature mit einer weniger schrulligen Sprache. –

+0

Leider müssen Sie die Windows Installer-Route verwenden, wenn Sie Business-Software schreiben - die meisten Unternehmenskunden denken nicht einmal über einen Kauf nach, es sei denn, Sie können ihnen ein MSI für die Bereitstellung bereitstellen. – saschabeaumont

Verwandte Themen