Warum muss ich keine Programme installieren?

Ich habe gerade angefangen, einen Mac für die iOS-Entwicklung zu verwenden, der aus zwei Jahrzehnten Windows-Nutzung stammt, und ich bin erstaunt und verwirrt, dass es keinen Installationsprozess für Mac-Programme gibt ... Sie laden sie einfach herunter, öffnen die DMG, Kopieren Sie die Datei rüber, und voilà.

Das verwirrt mich ohne Ende.

Kann jemand auf technischer Ebene erklären, was der Unterschied ist? Wie könnte es denkbar sein, dass kein Installationsprozess durchgeführt werden muss?

Und wenn so etwas möglich ist, warum funktionieren dann nicht alle Betriebssysteme so?

Es ist erwähnenswert, dass das einfache Ziehen des *.app Ordners auf Ihre lokale Festplatte Dateiaktionen auslösen kann. Außerdem nnn.appist das ein Ordner , keine Datei. Wie Mac-Apps funktionieren, ist ziemlich kompliziert.
Ich möchte nur darauf hinweisen, dass Windows-Installer neben dem Kopieren von Dateien und dem Festlegen von Verknüpfungen noch einige andere Aufgaben erledigen. Eine davon besteht darin, einen Wiederherstellungspunkt zu erstellen, damit das System in seinem ursprünglichen Zustand wiederhergestellt werden kann, wenn etwas schief geht. Ein weiterer, um die Registrierung mit einem Deinstallationsprozess zu aktualisieren. Da Windows-Apps nicht wie OS X-Apps gebündelt sind, ist der letztere Vorgang definitiv erforderlich.

Antworten (3)

Uns Mac-Nutzer stellen die gleiche Frage andersherum: Warum braucht man für alles in Windows einen (De-)Installer?

Die meisten Mac-Programme sind vollständige Bundles – alle ihre Ressourcen befinden sich im Anwendungsordner (Rechtsklick auf das App-Symbol -> Paketinhalt anzeigen). Damit sie von überall ausgeführt werden können, gibt es eine Systemvariable, die dem Code mitteilt, wo er sich befindet. Häufig kann eine Anwendung direkt von der heruntergeladenen DMG und sogar von einem Remote-Server ausgeführt werden. Ein kleiner Performance-Hit, aber es wird funktionieren. Benutzereinstellungen befinden sich in der Benutzerbibliothek, es gibt auch Systemroutinen, um die Mechanik zu handhaben.

Macs haben keine zentrale Registrierung, die eingerichtet (oder gewartet) werden muss, also muss auch nichts dorthin gehen.

Wenn Sie Mac-Anwendungen entwickeln, sollten Sie sich sehr bemühen, kein Installationsprogramm zu benötigen - nur wenn Sie gemeinsam genutzte Bibliotheken oder Dienste auf Shell-Ebene installieren. Generell geht es auch ohne.

Da Sie sich der iOS-Programmierung zuwenden, würde ich vorschlagen, sich darüber keine Gedanken zu machen. iOS-Regeln sagen Ihnen, wo Sie was speichern können, und es ist NICHT verhandelbar. Einstellungen kommen hierher, Benutzerdaten dort. Sie verwenden die bereitgestellten APIs. Erfüllen. Gehorchen.

Keine App kann anders denken?
Die Kehrseite ist, dass, wenn eine gebündelte App (.app) Dateien zum System hinzufügt (z. B. in /Library, an anderen Orten), Dienste registriert, Einstellungsfenster usw., ein einfaches „Löschen der .app“ ausreicht Es wird nicht bereinigt, und wirklich, nichts bereinigt es, obwohl es andere Apps gibt, die Artefakte von nicht vorhandenen Apps bereinigen (oder dies zumindest behaupten).
Können Sie erklären, wie das Sinn macht? Viele Anwendungen müssen als Handler für bestimmte Dateien erkannt werden. Das ist mit einem Dateiextraktionsprozess unmöglich; Die App muss sich irgendwo registrieren, vielleicht das Äquivalent einer Windows-Registrierung. Wie kann eine App keinen Installer benötigen?

Tatsächlich gibt es unter OS X eine Menge Dinge, die "installiert" werden müssen.

Normalerweise handelt es sich bei den „installierten“ Apps um Pakete, die bestimmte Anweisungen enthalten. Um es einfach auszudrücken, das Paket führt ein Skript aus und weist das System an, Dateien in verschiedenen Teilen des Betriebssystems zu erstellen/zu verschieben. Dies ist für Software wie die Adobe CS-Suite oder Microsoft Office erforderlich.

Die andere Art von Apps sind so etwas wie "Standalone-Apps", bei denen Sie nur eine ausführbare Datei benötigen. Wenn diese Datei geöffnet wird, erstellt sie dann ihre Abhängigkeiten, Einstellungsdateien und dergleichen.

In vielen Fällen tut ein Windows-Installer eigentlich nichts anderes, als die komprimierten Dateien zu extrahieren und sie an das Ziel zu schreiben.

Und dann erstellt es ein paar Verknüpfungen und registriert sich möglicherweise selbst, um Dateien mit bestimmten Erweiterungen zu öffnen.

Es ist keine Hexerei, Software unter Windows zu installieren, und für viele Windows-Software können Sie tatsächlich das installierte Softwareverzeichnis nehmen und es direkt auf einen anderen Computer kopieren und dort ausführen, ohne eine (Neu-)Installation durchzuführen.

Es handelt sich also hauptsächlich um einen Unterschied zwischen Benutzeroberflächen (wer für das Kopieren der Dateien verantwortlich ist), nicht um einen Unterschied zwischen dem, was wirklich passiert.