Wie erstelle ich ein Installationsprogramm für meine XNA-Demo?

11

Ich habe eine Demo in XNA3.1 mit VS2008 codiert. Ich würde wirklich gerne in der Lage sein, dies an jeden mit einem PC zu senden und ihn installieren und ausführen zu lassen, ohne dass VS installiert sein muss oder das .NET-Framework usw.

Ich dachte, es wäre die Veröffentlichungsoption, aber ich bin ein wenig verwirrt darüber. Kann jemand etwas Licht in die Sache bringen?

Danke im Voraus.

Sir Yakalot
quelle
Für alles, was mit XNA erstellt wurde, muss das XNA-Framework ausgeführt werden, sodass das .net-Framework und das XNA-Framework installiert werden müssen. Sie würden Visual Studio nicht brauchen.
Thedaian
2
das ist etwas irreführend. Sie haben Recht damit, dass sie das xna-Framework und möglicherweise das .net-Framework usw. benötigen würden. Aber sie müssten es nicht selbst installieren - das ist der springende Punkt bei der Erstellung eines Installationsprogramms. Abhängigkeiten werden überprüft und bei Bedarf installiert. In diesem Fall umfasst dies das neu verteilte XNA-Framework.
SirYakalot

Antworten:

14

Treffen Sie Ihre Wahl

Es gibt verschiedene Möglichkeiten, ein Installationsprogramm für alles zu erstellen, einschließlich eines XNA-Spiels.

1. Visual Studio-Bereitstellungslösung

Dieser ist ziemlich einfach. Wenn Sie über die Professional Edition von Visual Studio verfügen, können Sie Ihrer Lösung ein Bereitstellungsprojekt hinzufügen. Wenn Sie dieses Projekt kompilieren, werden alle erforderlichen Abhängigkeiten / Assets für Sie kompiliert, und Sie werden am Ende zu einem netten Installationsprogramm.

Dieser Link enthält die meisten Informationen, die Sie für den Einstieg benötigen, und enthält Informationen zur Neuverteilung des .NET-Frameworks und anderer verwandter Elemente.

Vorteile:

  • In Visual Studio integriert
  • Einfach, ein einfaches MSI-Installationsprogramm zu erstellen und zu verteilen

Nachteile:

  • In einigen Versionen von Visual Studio nicht verfügbar
  • Es ist schwierig, Ihr Installationsprogramm dazu zu bringen, etwas Komplexeres als das Installieren / Reparieren / Deinstallieren zu tun.

2. WiX

Wenn Sie aufgrund einer eingeschränkten Version von Visual Studio nicht die Möglichkeit haben, ein Visual Studio-Bereitstellungsprojekt zu erstellen, stehen eine Reihe kostenloser Alternativen zur Verfügung. WiX ist eine dieser Alternativen.

Es steht für Windows Installer XML und kann ähnlich wie die VS Deployment-Projekte in Visual Studio integriert werden. Dadurch wird nach der Kompilierung auch ein MSI-Installationsprogramm erstellt. Seien Sie jedoch gewarnt, WiX hat eine steile Lernkurve, die jedoch verschiedene Komplexitäten in Ihrem Installationsprogramm berücksichtigt.

Mehr dazu erfahren Sie hier

Vorteile:

  • 100% kostenlos.
  • Kraftvoll. Wenn Sie in Ihrem Installationsprogramm etwas lächerlich Komplexes tun möchten, erstellen Sie einfach eine C # -DLL, verknüpfen Sie sie mit Ihrem WiX-Projekt und führen Sie sie als benutzerdefinierte Aktion aus. (Fast) Alles ist möglich.
  • Integriert sich gut in Visual Studio und funktioniert sehr, sehr gut mit .NET-Projekten.
  • Die Personen auf der WiX-Mailingliste bieten viel Unterstützung.

Nachteile:

  • Aufgrund der steilen Lernkurve schwer zu erfassen und loszulegen.
  • Fehler sind fast unsinnig, wenn Sie anfangen, und es dauert eine Weile, um herauszufinden, was das eigentliche Problem in Ihrem Code ist.
  • Nicht genügend Tutorials zu diesem Thema. Die meisten (meiner Meinung nach) sind schlecht formuliert, schlecht strukturiert und geradezu verwirrend.

3. NSIS

NSIS ist ein voll funktionsfähiges Installationspaket. Ich gebe zu, ich habe es kaum benutzt, aber als ich es tat, war es eine angenehme Erfahrung. Es gibt eine gute Anzahl von Tutorials, es ist vollständig skriptfähig, aber ich würde wahrscheinlich sagen, dass es nicht so leistungsfähig ist wie WiX (wenn jemand der Meinung ist, dass dies nicht der Fall ist, können Sie mich gerne korrigieren).

Es ist völlig kostenlos und Open Source und weitere Informationen dazu finden Sie hier .

Vorteile:

  • 100% kostenlos.
  • Skriptfähiges Installationsprogramm, daher sollten Sie in der Lage sein, ein komplexes Verhalten zu codieren.
  • Gute Anzahl an Tutorials, gute Unterstützung.
  • Macht keine MSI, sondern eine EXE (MSIs können schlecht sein )

Nachteile:

  • Macht keine MSI, sondern eine EXE (MSIs können gut sein )
  • Ziemlich begrenzt durch den Umfang der Skriptbefehle

4. InstallShield und InstallAnywhere

Ich habe InstallShield noch nie verwendet, aber der Vollständigkeit halber dachte ich, ich würde es hier erwähnen. Meine einzige Erfahrung ist das, was mir die Leute erzählt haben, daher werde ich die Vor- und Nachteile nicht auflisten.

Soweit mir bekannt ist, ist es ziemlich voll funktionsfähig, kann jedoch keine große Anzahl von Dateien (> 1000) verarbeiten. Sie müssen jedoch dafür bezahlen. InstallAnywhere ist eine plattformübergreifende Version von InstallShield. Weitere Informationen hier .

5. Andere Lösungen

Ich werde hier die anderen Lösungen für die Bereitstellung auflisten, wenn jemand andere hinzufügen muss:

Advanced Installer - Die Freeware-Version ermöglicht grundlegende Bereitstellungslösungen. Danke für diesen Zusatz, pek.

Fazit

Es stehen eine Vielzahl von Optionen zur Verfügung, um ein Installationsprogramm für Ihr XNA-Spiel zu erstellen. Probieren Sie ein paar aus und sehen Sie, was Sie am meisten verstehen. Das Wichtigste bei der Erstellung von Installationsprogrammen ist jedoch, dass es auf einer Reihe von Computern funktioniert. Wenn Sie ein MSI-Installationsprogramm erstellen, wird das Testen erheblich vereinfacht, indem Sie die MSI über die Befehlszeile mit dem folgenden Befehl ausführen:

msiexec /i [name of installer.msi] /L*v verbose_log.txt

Dadurch wird ein Protokoll jedes einzelnen Ereignisses erstellt, das das Installationsprogramm durchläuft, und das Sie dann von jedem beliebigen Diff-Tool unterscheiden können.

Sehen Sie abschließend, was am besten zu Ihnen und Ihrem Workflow passt. Testen ist der Schlüssel. Wenn Sie Ihr Installationsprogramm testen, protokollieren Sie die Installationen IMMER (die Installateure geben Ihnen meistens nie nützliche Informationen darüber, was schief gelaufen ist).

Dies wurde etwas länger als ich erwartet hatte, und es tut mir leid. Aber ich hoffe es hilft.

~ Ray

Ray Dey
quelle
Hier ist ein weiteres Installationsprogramm, das Sie der Vollständigkeit halber hinzufügen möchten: Advanced Installer ( advancedinstaller.com ). Mit der Benutzeroberfläche kann viel getan werden, und für einfache Projekte reicht es aus. Ich habe es nicht für etwas Komplexes verwendet. Die Freeware-Edition hat fast alles, was ein einfaches Projekt braucht, also war ich damit einverstanden.
Pek
1
"Visual Studio Deployment Solution" bezieht sich tatsächlich auf zwei separate Technologien - ClickOnce und Windows Installer. Windows Installer erstellt einen normal aussehenden Installationsassistenten. Es ist weit verbreitet und sieht professioneller aus. ClickOnce ist einfacher zu verwenden, bietet die Möglichkeit, das Programm automatisch zu aktualisieren , und kann direkt von einer Webseite installiert werden. ClickOnce ist jedoch nur .Net (unterstützt keine nativen C ++ - Projekte) - da XNA auch nur .Net ist, sollte dies kein Problem sein.
BlueRaja - Danny Pflughoeft