Was genau macht ein Installateur und warum brauche ich vielleicht einen?

34

das ist wohl die noob-frage des tages:

Also habe ich dieses Spiel geschrieben.

Jetzt gibt es die .exe-Datei, die die Arbeit erledigt, einen Ordner mit meinen schönen, schönen Assets und eine Reihe von .dll-Dateien und anderen Dingen, die ich wahrscheinlich nicht anfassen sollte. Um das Spiel zu starten, kopiere ich das gesamte Los auf den gewünschten Computer, doppelklicke auf die .exe-Datei und beginne, ein paar Typen zu erschießen. Yay!

Aber was genau ist der Unterschied zwischen dem und der Verwendung eines Installationsprogramms? Was macht ein Installer außer dem Kopieren von Dateien und dem professionelleren Aussehen einer .zip-Datei noch? Ist im Allgemeinen viel Patching / Konfiguration erforderlich, wenn versucht wird, ein Spiel auf einem anderen Computer auszuführen? Ich habe mein Spiel auf allen Windows-Computern getestet, auf die ich meine gierigen Finger bekommen konnte, und es funktioniert großartig.

HumanCatfood
quelle
1
Nun, in XNA zum Beispiel benötigen Sie XNA-Laufzeit. Oder mit SlimDX brauchst du SlimDX.dll in deinem Spieleverzeichnis oder im GAC.
Kikaimaru
Hm, das verstehe ich. Die von mir benötigten DLL-Dateien (in meinem Fall sdl.dll und die zugehörigen Minions) befinden sich jedoch bereits im selben Verzeichnis wie die EXE-Datei und werden beim Kopieren der restlichen Dateien kopiert. Was würde ein Installateur anders machen?
HumanCatfood
2
@Jan Der Endbenutzer muss sich keine Gedanken über das Platzieren von Dateien machen und was nicht. Es ist etwas, das für sie getan wird.
Sidar
1
Denken Sie darüber nach - wie groß ist Ihr Spiel? Das heißt, es handelt sich um eine kleine Exe-Datei im Indie-Stil, eine oder zwei DLLs und ein paar Images, oder es handelt sich um eine massive Sache, für die alle Arten von Laufzeitinstallationen erforderlich sind. Wenn es sich um eine relativ kleine Datei handelt, ist eine Exe-Datei in einer Zip-Datei möglicherweise ausreichend und kann dazu beitragen, die Zurückhaltung des Benutzers bei der Installation zufälliger Spiele zu überwinden, die er nach fünf Minuten Spielzeit möglicherweise löschen möchte.
Piku
1
Apropos Installer ... etwas, das oft übersehen wird, ist ein gutes De- / Deinstallationsprogramm. Ich habe die Zählung verloren, wie oft ich übrig gebliebene Dateien und / oder Registrierungsschlüssel entfernen musste. Was besonders ärgerlich ist, wenn die genannten Überreste Probleme bei der Neuinstallation des Spiels verursachen.
Exilyth

Antworten:

34

Das Installationsprogramm ist normalerweise da, um dem Endbenutzer die Arbeit zu erleichtern. Es führt eine Kombination der folgenden Aktionen aus:

  • Entpacken
  • Erstellung von Verzeichnissen
  • Installation der benötigten Laufzeiten (weitervertreibbar wie: .Net, Visual C ++, Direct x)
  • Registrierung beim Betriebssystem (für eine spätere saubere Deinstallation)
  • Zeigen Sie wunderschöne Screenshots an, um den Player auf Ihr Spiel vorzubereiten, während es funktioniert.
  • Bietet dem Benutzer die Möglichkeit, sein Spiel zu registrieren
  • Herunterladen von Updates für die Assets oder Patches für das Spiel
  • Fügen Sie dem Startmenü oder dem Desktop Symbole hinzu
  • Richtige Berechtigungen für verschiedene Spieleverzeichnisse festlegen (temporärer Ordner, Speicherverzeichnis usw.)
  • Installieren Sie es einfach bereits , lassen Sie den Benutzer gedankenlos auf "Weiter" klicken und spielen Sie das Spiel!
MichaelHouse
quelle
Oh ja, ich hatte nicht darüber nachgedacht, dass möglicherweise Laufzeiten installiert werden müssen. Vielen Dank!
HumanCatfood
2
Vergessen Sie auch nicht, Dateizugriffsrechte einzurichten! Es ist nicht garantiert, dass Ihr Spiel Schreibzugriff auf seinen Ordner hat (für Spielstände und ähnliches), es sei denn, ein Installer richtet ihn ein.
Nevermind
10
+1 Die meisten Endbenutzer sind nicht einmal damit zufrieden, eine Datei zu entpacken. Daher sollte der Installer einen vernünftigen Standardinstallationspfad vorschlagen und "einfach" für sie tun. Viele Endbenutzer wissen nicht, was ein Dateisystem ist oder wie sie Dateien außerhalb der Standardpfade für Dokumente finden können, die ihnen angezeigt werden. Und ehrlich gesagt, warum zum Teufel sollten sie überhaupt wissen müssen? Stellen Sie sich das Installationsprogramm als App-Store für arme Leute vor, es sollte nur ein Klick sein, um loszulegen, nicht mehr.
Oskar Duveborn
Nun, das hängt wirklich von Ihrer Zielgruppe ab.
API-Beast
3
Ich würde auch die Liste der Gründe Konsistenz hinzufügen. Indem Sie ein Installationsprogramm bereitstellen, stellen Sie sicher, dass der Benutzer ein Setup erhält, das mit anderen Benutzern konsistent ist. Andernfalls werden Sie mit verrückten Dingen konfrontiert, z. Eine konsistente und bekannt-guten Setup mit entfernt eine Menge Dinge , die kann schief gehen, und erleichtert die Arbeit bei der Fehlersuche , wenn die Dinge tun schief gehen.
Maximus Minimus
3

Ein Installationsprogramm abstrahiert den Prozess der Bereitstellung komplexer Teile der Software-Infrastruktur , die normalerweise in einem Archiv enthalten sind, über eine praktische, autarke Benutzeroberfläche .

Diese Benutzeroberfläche kann grafisch sein oder auf Text basieren, der über eine Befehlszeile wie die Unix-Shell (z. B. bash) ausgegeben wird. Bei grafischen Installationsprogrammen wird meistens ein sogenannter Installations-Bootstrapper verwendet, im letzteren Fall Installationsskripte, die Bash-Skripte, Microsoft-Batch-Skripte oder andere Skriptsprachen sein können, die in einer Befehlszeile ausgeführt werden.

Im einfachsten Fall ist eine Anwendung einfach eine ausführbare Datei, wobei das Betriebssystem weiß, was mit der Datei zu tun ist, um sie auszuführen. Die Anwendungsdatei kann sich in einem Ordner mit Unterordnern und anderen Zusatzdateien befinden, die in ein Archiv gepackt sind . In diesem Fall wird möglicherweise kein Installationsprogramm benötigt.

Bei komplexer Software können ganze Softwareplattformen und eine enge Integration in die zugrunde liegende Betriebssysteminfrastruktur wünschenswert sein, um beispielsweise das Urheberrecht eines Softwareprodukts durchzusetzen.

Viele Installationsprogramme unter Windows bieten ein /eoder /extract-Flag an. setup.exe /eZum Beispiel , um den Inhalt des Archivs zu extrahieren, ohne dass der Installer sein Installationsskript ausführt. Ich musste vor kurzem genau das tun .

Auf dem Weg zur Portabilität

Installateure sind fast zur Norm für die Bereitstellung professioneller Software geworden, egal wie einfach die zugrunde liegenden Software-Assets sind. Mit der zunehmenden Anzahl von Computernutzern und dem Wunsch, Anwendungen von einem Desktop auf den nächsten zu migrieren, wird tragbare Software , die häufig in einem einfachen Archiv bereitgestellt wird, immer beliebter.

( Ich weiß nicht, wie viel Zeit ich insgesamt für Installateure aufgewendet habe, aber es liegt definitiv in der Größenordnung von Tagen. )

Aufgaben, die das Installationsprogramm ausführen kann, sind:

  • Auspacken (häufig mit exotischen Archiven mit hoher Komprimierung)
  • Sicherstellen der Systemhardwareanforderungen
  • Sicherstellen von ausreichend Festplattenspeicher
  • Sicherstellung der Laufzeitanforderungen der Softwareplattform (zB 'Redistributables')
  • Nach neueren Software-Updates suchen
  • Herunterladen der Software von einem Remote-Repository
  • Erstellen und / oder Aktualisieren von Programmdateien und -ordnern
  • Erstellen Sie Konfigurationsdateien, Registrierungseinträge oder Umgebungsvariablen
  • Installieren Sie Software-Treiber, aktivieren oder deaktivieren Sie Geräte
  • Erhöhen Sie die Zugänglichkeit für alltägliche Benutzer, indem Sie Installationsschritte erklären, Verknüpfungen und Verknüpfungen erstellen
  • Werbung für die eigene Software durch Lesezeichen usw.
  • Erstellen Sie einen Anreiz für den Benutzer, die Software tatsächlich zu starten, indem Sie die wichtigsten Punkte der Software während der Installation Folie für Folie anzeigen
  • Schaffen Sie zusätzliche Einnahmen durch Software-Bündelung
  • Kernel-Module konfigurieren und automatisch laufende Komponenten (zB Daemons, Windows-Dienste)
  • automatisches Patchen der Software
  • Festlegen von Ordner-, Datei- und Benutzerberechtigungen
  • Erstellen von GUIDs, um die Software an eine bestimmte Installationsinstanz zu koppeln und beispielsweise die Portabilität zu verhindern

... Wenn Sie an andere Punkte denken können, lassen Sie es mich wissen und ich werde sie einbeziehen.

Lorenz Lo Sauer
quelle