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 /e
oder /extract
-Flag an. setup.exe /e
Zum 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.