Frage

Ich bin mehr oder weniger ein hobbyistischer Programmierer und bin in Bezug auf .NET Clickonce-Welt aufgewachsen.

Wenn man ein Programm "installiert", was passiert eigentlich?!

Außerdem: Einige kleine Apps/Tools laufen einfach aus dem EXE. Warum benötigen die meisten Programme einen ausgefallenen Installationsprozess? Was sind die Vor-, Nachteile, Vor- und Nachteile? Ist die Installation normalerweise erforderlich oder eher eine Standardpraxis?

Entschuldigung für die zusätzlichen Fragen. Ich hoffe nur auf eine schlicht-englische Erklärung von mehr oder weniger Laien, die die Schlüsselfaktoren erläutert.

War es hilfreich?

Lösung

Sie schauen sich viele Vermächtnisgründe wirklich an, die in der Windows -Welt zu einer Standardpraxis geraten sind.

Erstens einige Kontrast, weil es nicht immer so ist. Eine "Anwendung" in Mac OS X ist einfach ein Verzeichnis mit einer bestimmten Struktur darin, benannt mit a .app Verlängerung. Das Installieren einer Anwendung ist so einfach wie das Ziehen (nur das App -Symbol) in Ihren Anwendungsordner, und das Deinstallieren beinhaltet das Ziehen des Mülls. Das ist es, kein ausgefallener Installateur ist (normalerweise) notwendig.

Unter Windows werden die Anwendung normalerweise aus unabhängigen Komponenten erstellt, die "registriert" werden müssen. Dies beinhaltet das Installationsprogramm, das einige Bits und Stücke in die Windows -Registrierung schreibt, um Windows zu sagen, wo die Komponenten ermittelt werden sollen. Ja, die Anwendung sollte wahrscheinlich wissen, wo sie sie finden sollen (da sie alle am selben Ort installiert sind), aber jahrelange Erbe und unterschiedliche Möglichkeiten, Komponenten zu verbinden, haben uns dorthin gebracht, wo wir heute sind.

In der Regel ein Installationsprogramm unter Windows:

  • kopiert Dateien
  • registriert Komponenten
  • Legt Sicherheitsberechtigungen fest (falls angemessen)
  • Fügt dem Startmenü und/oder des Desktops Symbole hinzu
  • schreibt mehr Sachen in die Registrierung, um Windows zu sagen, dass sie das Programm hinzufügen sollen, um "Programme hinzuzufügen und zu entfernen", um das Programm hinzuzufügen, um Programme hinzuzufügen und zu entfernen ", um Windows hinzuzufügen, um" Programme zu entfernen ", um Windows hinzuzufügen, um" Programme zu entfernen ", um das Programm hinzuzufügen, um Programme hinzuzufügen und zu entfernen", um Windows hinzuzufügen, um "Programme zu entfernen", um Windows hinzuzufügen, um "Programme zu entfernen", um Windows hinzuzufügen, um "Programme zu entfernen", um das Programm hinzuzufügen, um "Programme zu entfernen".

Andere Tipps

Das Programm versucht, den Computer so zu ändern, dass es funktioniert und alle konkurrierenden Produkte scheitern. Unter Windows bedeutet dies:

  • Ändern willkürlicher Schlüssel in der Registrierung, bis es langsam und voller gebrochener Einträge wird
  • Ersetzen von DLLs durch die einzelne alte Version, die Ihre Software verwenden kann
  • Verbreiten Sie so viele Dateien an so vielen Stellen wie möglich
  • Erstellen eines Deinstallationsskripts, um die Illusion beizubehalten, dass der Benutzer die Software ohne eine Neuinstallation des Betriebssystems beseitigen kann. In dem unwahrscheinlichen Fall, dass der Benutzer versucht, dieses Skript auszuführen, können Sie ihn/sie erziehen, um dies nie wieder mit Fragen wie "der Datei ... möglicherweise von anderen Anwendungen zu verwenden. Möchten Sie es wirklich löschen? Ja/Nein/vielleicht/jede Antwort/alle Antworten sind korrekt. "
  • Installieren von Hooks an dunklen Stellen, damit Ihre Software beim Stiefel der Computer ausgeführt wird. Das kann den Startvorgang verlangsamen, aber Ihre Software beginnt sofort, daher ist es ein kleiner Preis für Sie.
  • Dunkle Dinge tun, die lange dauern, aber niemand kann sagen, was Sie tun (was "Setup bereitet die Installation vor." Tun Sie 15 Minuten lang?)
  • Überprüfen Sie, ob genügend Speicherplatz vorhanden ist, aber verwenden Sie 32 -Bit -Ganzzahlen, um sicherzustellen, dass sie nicht auf 1 TB -Scheiben installiert werden können.
  • Eine wichtige Aufgabe besteht darin, mit der Installation zu scheitern und den Fehler zu drucken: "Die Installation fehlgeschlagen. Dies kann daran liegen, dass eine Antiviren -Software installiert ist. Bitte deaktivieren Sie sie und versuchen Sie es erneut." Dies wird sicherstellen, dass die Benutzer ihren Antivirenmisstrauen misstrauen (insbesondere wenn die Installation während des zweiten Laufs erfolgreich ist, da die obskuren Fehler im Installateur nicht ausgelöst wurden) und viele von ihnen vergessen, den Virus-Scanner erneut oder zu aktivieren oder zu ermöglichen oder Sogar das verdammte Ding deinstallieren.

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

  • Ein sehr wichtiger Teil Ihres Installateurs besteht darin, den Registrierungsschlüssel zu erhöhen 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

    Dieser wichtige Systemzähler hilft dabei, die Illusion der Instabilität für den Benutzer zu erzeugen, bis er einen starken Drang verspürt, das gesamte System neu zu installieren. Dies wird der professionellen IT -Branche helfen, Supportstunden zu verkaufen, neue Computer, mehr RAM, größere Festplatten oder neue Windows -Versionen zu verkaufen (sie muss Sei besser, oder?).

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

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

  1. Um den Installationsprozess aufzuzeichnen, damit er wiederholt oder repariert werden kann (Deinstallation)
  2. Um Aktionen Beyons Simple Dateikopie auszuführen (Registrierungsschlüssel erstellen, Komponenten registrieren, andere willkürliche Aktionen ausführen

Die Option "Standard" für die meisten Installationen ist "alle gewünschten Bits an einem Standardort wie Programmdateien" ohne Anpassung, möglicherweise ohne aktivierte Funktionen auf Expertenebene.

Wikipedia erzählt es uns dass ein typischer Installateur Folgendes erstellt oder modifiziert:

  • Shared and Non-Shared-Programmdateien
  • Ordner/Verzeichnisse
  • Windows -Registrierungseinträge (nur Windows)
  • Konfigurationsdateieinträge
  • Umgebungsvariablen
  • Links oder Verknüpfungen

Wenn Ihr Programm also eine oder mehrere dieser Änderungen benötigt, sollten Sie einen Installateur erstellen, der diesen Job erledigt.

Hängt von dem Programm ab, das Sie installieren. Eine "Installation" kann von einfachem Kopieren der (relativ kleinen) ausführbaren Datei in ein Verzeichnis über die Einrichtung gemeinsamer Bibliotheken, das Durchführen von PatchLevel -Checks (ich bin so konzipiert, dass ich auf SP2 oder höher ausgeführt wird - habe ich SP2 oder höher durch? Systemkonfiguration, entweder für den aktuellen Benutzer oder für alle Benutzer. Die meisten von ihnen registrieren die Installation auch mit einem Paketmanager, damit Sie zu einem späteren Zeitpunkt problemlos deinstallieren können.

Ein Installateur Zusammenfassung Der Prozess der Bereitstellung komplexer Software -Infrastrukturen, was normalerweise ist in einem Archiv über eine bequeme, autarke Benutzeroberfläche enthalten.

Diese Benutzeroberfläche kann grafisch oder basierend auf dem Text sein, der auf einer Befehlszeile wie der UNIX-Shell (z. B. Bash) ausgegeben wird. Bei grafischen Installateuren wird in letzterem Fall eine sogenannte Installationsstiefel Streetrapper verwendet, in letzterem Fall Installationsskripte, die Bash-Skripte, Microsoft-Batch-Skripte oder andere Skriptsprache, die auf einer Befehlszeile ausgeführt werden, sein können.

In dem Einfachster Fall Eine Anwendung ist einfach eine ausführbare Datei, mit dem Betriebssystem, was mit der Datei zu tun ist, um sie auszuführen. Die Anwendungsdatei kann sich in einem Ordner mit Unterordnern und anderen Hilfsdateien befinden. in ein Archiv gepackt. In diesem Fall kann kein Installationsprogramm erforderlich sein.

Für komplexe Software, ganze Softwareplattformen und enge Integration in die zugrunde liegende Betriebssysteminfrastruktur Möglicherweise ist wünschenswert, zum Beispiel das Urheberrecht eines Softwareprodukts durchzusetzen.

Viele Installateure unter Windows bieten eine /e oder /extract Flagge. z.B setup.exe /e Um die Extraktion des Inhalts des Archivs zu ermöglichen, ohne dass das Installationsprogramm sein Installationsskript ausführt. Ich musste kürzlich nur tun das.

Verschiebungen in der Denkweise

Installateure sind fast zu einer Norm für die Bereitstellung professioneller Software geworden, unabhängig davon, wie einfach die zugrunde liegenden Software -Vermögenswerte sind. Mit einer zunehmenden Anzahl von Computer -Kennern und dem Wunsch, die Anwendungen von einem Desktop zum nächsten zu migrieren, migrieren Tragbare Software, oft in einem einfachen Archiv geliefert, wird immer beliebter.

(Ich weiß nicht, wie viel Zeit ich insgesamt für Installateure verbracht habe, aber es ist definitiv in der Reihenfolge der Tage.)

Aufgaben, die der Installationsprogramm erledigen kann, sind:

  • Auspacken (oft mit exotischen, hohen Kompressionsbogenfahrern)
  • Sicherstellung der Anforderungen an die Systemhardware
  • Gewährleistung ausreichender Festplattenraum
  • Sicherstellung von Laufzeitanforderungen der Softwareplattform (z. B. "Umverteilung")
  • Überprüfen Sie nach neueren Software -Updates
  • Herunterladen der Software aus einem Remote -Repository
  • Erstellen und/oder Aktualisieren von Programmdateien und Ordnern
  • Erstellen Sie Konfigurationsdateien, Registrierungseinträge oder Umgebungsvariablen
  • Installieren Sie Sofware -Treiber, Mount oder UNMOUND -Geräte
  • Erhöhen Sie die Zugänglichkeit für alltägliche Benutzer, indem Sie Installationsschritte erläutern, Links erstellen, Verknüpfungen
  • Bewerben Sie die eigene Sofware über Lesezeichen usw.
  • Erstellen Sie den Anreiz für den Benutzer, die Software tatsächlich zu starten, indem Sie die Tastoint der Software während der Installation präsentieren, Slide nach Slide
  • Erstellen Sie zusätzliche Einnahmen durch Software-Bundling
  • Konfigurieren Sie Kernelmodule und automatisch laufende Komponenten (z. B. Daemons, Windows-Services).
  • Automatisches Patching der Sofware
  • Einstellen des Ordners, der Datei und der Benutzerberechtigungen
  • Erstellen von UUIDS-Verweise, um die Software in eine Installationseinrichtung zu koppeln und die Portabilität zu verhindern

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top