30 Stimmen

Was macht eine Standard-"Installation" tatsächlich?

Ich bin mehr oder weniger nur ein Hobbyprogrammierer und habe mich codingmäßig in der .NET ClickOnce-Welt entwickelt.

Was passiert eigentlich, wenn man ein Programm "installiert"?

Außerdem: Einige kleine Apps/Tools laufen einfach von der exe-Datei aus. Warum benötigen die meisten Programme einen aufwändigen Installationsprozess? Was sind die Vor- und Nachteile, Pros & Cons? Ist eine Installation normalerweise notwendig oder mehr eine Standardpraxis?

Entschuldigung für die zusätzlichen Fragen. Ich hoffe nur auf eine Erklärung der wichtigen Faktoren in einfachem Englisch, mehr oder weniger für den Laien verständlich.

37voto

Greg Hewgill Punkte 882617

Du betrachtest hier wirklich viele historische Gründe, die alle zu dem geworden sind, was zur Standardpraxis in der Windows-Welt geworden ist.

Zunächst einmal ein Gegensatz, denn es ist nicht immer so. Eine "Anwendung" in Mac OS X ist einfach ein Verzeichnis mit einer bestimmten Struktur darin, benannt mit einer .app Erweiterung. Die Installation einer Anwendung ist so einfach wie das Ziehen (nur das App-Symbol) in Ihren Anwendungen Ordner, und das Deinstallieren beinhaltet das Ziehen in den Papierkorb. Das war's, in der Regel ist kein ausgefeilter Installer erforderlich.

Auf Windows werden Anwendungen typischerweise aus unabhängigen Komponenten erstellt, die "registriert" werden müssen. Dies beinhaltet, dass das Installationsprogramm einige Bits und Stücke in die Windows-Registrierung schreibt, um Windows mitzuteilen, wo die Komponenten zu finden sind. Ja, die Anwendung sollte wahrscheinlich wissen, wo sie zu finden sind (da sie alle am selben Ort installiert sind), aber Jahre des Erbes und verschiedene Möglichkeiten, Komponenten anzuschließen, haben uns dahin gebracht, wo wir heute sind.

Typischerweise enthält ein Installationsprogramm unter Windows:

  • kopiert Dateien
  • registriert Komponenten
  • setzt Sicherheitsberechtigungen (falls erforderlich)
  • fugt Symbole zum Startmenü und/oder Desktop hinzu
  • schreibt mehr in die Registrierung, um Windows mitzuteilen, das Programm zu "Hinzufügen/Entfernen von Programmen" hinzuzufügen

18voto

Aaron Digulla Punkte 308693

Das Programm versucht, den Computer so zu modifizieren, dass er funktioniert und alle konkurrierenden Produkte scheitern. Auf Windows bedeutet dies:

  • Arbiträre Schlüssel in der Registrierung zu modifizieren, bis sie langsam wird und voller fehlerhafter Einträge ist

  • DLLs durch die einzige veraltete Version zu ersetzen, die Ihre Software verwenden kann

  • So viele Dateien an so vielen Stellen wie möglich zu verbreiten

  • Ein Deinstallations-Skript zu erstellen, um die Illusion aufrechtzuerhalten, dass der Benutzer die Software ohne eine Neuinstallation des Betriebssystems loswerden kann. Im unwahrscheinlichen Fall, dass der Benutzer versucht, dieses Skript auszuführen, können Sie ihn/sie darüber aufklären, dies nie wieder zu tun, indem Sie Fragen wie "Die Datei .... könnte von anderen Anwendungen verwendet werden. Möchten Sie sie wirklich löschen? Ja/Nein/Vielleicht/Jede Antwort/Alle Antworten sind korrekt"

  • Haken an obskuren Stellen zu installieren, damit Ihre Software beim Booten des Computers ausgeführt wird. Das kann den Bootvorgang verlangsamen, aber Ihre Software wird sofort starten, also ist es ein kleiner Preis, den Sie... bezahlen müssen.

  • Dunkle Dinge zu tun, die lange dauern, aber niemand sagen kann, was Sie tun (was macht "Setup bereitet die Installation vor" für 15 Minuten?)

  • Zu überprüfen, ob genügend Festplattenspeicherplatz vorhanden ist, aber 32-Bit-Integer zu verwenden, um sicherzustellen, dass es nicht auf 1-TB-Festplatten installiert werden kann.

  • Ein wichtiger Schritt ist das Scheitern der Installation und die Anzeige des Fehlers: "Installation fehlgeschlagen. Dies könnte daran liegen, dass eine Antivirensoftware installiert ist. Bitte deaktivieren Sie sie und versuchen Sie es erneut." Dadurch werden Benutzer dazu gebracht, ihrem Antivirenprogramm zu misstrauen (besonders wenn die Installation beim zweiten Versuch erfolgreich ist, da die obskuren Fehler im Installer nicht ausgelöst wurden) und viele von ihnen werden vergessen, den Virenscanner wieder zu aktivieren oder ihn sogar zu deinstallieren.

    Virenautoren auf der ganzen Welt sind auch Menschen! Spam macht den größten Teil des Datenverkehrs im Internet aus, was bedeuten muss, dass er wichtig ist und wer möchte nicht Teil der größten Gemeinschaft der Welt sein? Darüber hinaus können Sie so viel Geld verdienen. Alles was Sie brauchen ist ein schwaches Gewissen und/oder etwas kriminelle Energie.

  • Ein sehr wichtiger Teil Ihres Installationsprogramms besteht darin, den Registrierungsschlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-7-9-23-64738-1349283462-3754093625-4491\IsYourWindowWideEnough\NotGivenUpYetHuh\GoAway\ImportantSystemInformation\Let See How You Can Handle Spaces\DamnIGottaStopSincePathsCanHaveOnl\ReinstalCtr zu erhöhen

    Dieser wichtige Systemzähler wird dazu beitragen, beim Benutzer die Illusion von Instabilität zu erzeugen, bis er ein starkes Bedürfnis verspürt, das gesamte System neu zu installieren. Dies wird der professionellen IT-Branche helfen, Support-Stunden zu verkaufen, neue Computer zu verkaufen, mehr RAM, größere Festplatten oder neue Windows-Versionen (sie müssen doch besser sein, oder?).

Hinweis: Wenn Sie diesen Text ernst nehmen, suchen Sie professionelle Hilfe.

3voto

Steve Gilham Punkte 10979

Die Gründe für die Verwendung eines "fancy" Installationsprozesses

  1. den Installationsprozess aufzeichnen, damit er wiederholt (repariert) oder rückgängig gemacht (deinstalliert) werden kann
  2. um Aktionen durchzuführen, die über einfaches Dateikopieren hinausgehen (Registry-Schlüssel erstellen, Komponenten registrieren, andere beliebige Aktionen durchführen

Die "Standard" -Option bei den meisten Installationen wird die "alle normalerweise gewünschten Teile an einem Standardort wie Program Files" Installation ohne Anpassung sein, möglicherweise ohne einige Expertenfunktionen aktiviert.

1voto

ty812 Punkte 3282

Es hängt vom Programm ab, das Sie installieren. Eine "Installation" kann von einfachem Kopieren der (relativ kleinen) ausführbaren Datei in ein Verzeichnis bis hin zur Einrichtung von gemeinsam genutzten Bibliotheken, Durchführung von Patchlevel-Checks (Ich bin für die Ausführung unter SP2 oder höher konzipiert - Habe ich SP2 oder höher?) und Änderung der Systemkonfiguration, entweder für den aktuellen Benutzer oder für alle Benutzer, reichen. Die meisten von ihnen registrieren die Installation auch beim Paketmanager, damit Sie sie später problemlos deinstallieren können.

1voto

Moayad Mardini Punkte 7211

Wikipedia sagt uns, dass ein typischer Installer Folgendes erstellt oder modifiziert:

  • Gemeinsame und nicht gemeinsame Programmdateien
  • Ordner/Verzeichnisse
  • Windows-Registrierungseinträge (nur Windows)
  • Konfigurationsdateieinträge
  • Umgebungsvariablen
  • Links oder Verknüpfungen

Also, wenn Ihr Programm eine oder mehrere dieser Modifikationen benötigt, sollten Sie einen Installer erstellen, der diese Arbeit erledigt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X