Ausführbare Dateien in Mac OS X vs Windows

11

Ich habe gesehen, dass jede ausführbare Datei in Windows die Erweiterung .exe hat. Aber Mac OS X hat nicht das gleiche.

Windows führt EXE-Dateien aus. Welche Art von Dateien führt Mac OS X dann aus?

Was ist der Unterschied zwischen der Ausführung von Anwendungen durch beide Betriebssysteme?

Sogar ich fand, dass Windows-Setups die gleiche Erweiterung .exe haben, aber auf einem Mac haben Setups die Erweiterung .dmg

Würden Sie mir bitte Ihr Wissen über .dmg und ausführbare Dateien auf Macs und Windows mitteilen?

Sagar R. Kothari
quelle

Antworten:

18

Erweiterungen ändern nicht wirklich, um welchen Dateityp es sich handelt, obwohl sie dem System häufig Hinweise geben, was mit einem bestimmten Element geschehen soll.

DMGs sind keine ausführbaren Dateien, sondern Disc-Images. Dies sind Dateien, die als Datenträger fungieren und häufig die ausführbaren Dateien und andere Dateien für Anwendungen enthalten. Wenn Sie auf eine doppelklicken, wird sie vom System bereitgestellt und Sie haben Zugriff auf die darin enthaltenen Dateien.

Sowohl Windows als auch OS X führen ausführbare Binärdateien aus, obwohl sie in unterschiedlichen Formaten vorliegen. Der große Unterschied zwischen dem, was ein Benutzer sieht, wenn er die GUI verwendet, besteht darin, dass unter Windows normalerweise die ausführbare EXE-Datei angezeigt wird, die sich in einem Ordner befindet, der andere Dateien und Informationen enthält, die das Programm verwendet. Unter OS X sind alle diese anderen Dateien zusammen mit der primären ausführbaren Datei in einem "Bundle" (eigentlich ein Ordner) mit der Erweiterung .app enthalten. Durch Doppelklicken auf ein .app-Bundle wird die interne ausführbare Datei ausgeführt und Ihre Anwendung geladen.

Außerhalb der GUI sind sich Mac- und Windows-Systeme in der eigentlichen Dateistruktur sehr ähnlich. Diese Unterschiede sind hauptsächlich eine Frage der Art und Weise, wie das System dem Benutzer Dinge zur Manipulation in der GUI präsentiert.

Phoebus
quelle
Mac führt auch .pkg (Paket) -Dateien aus
Joshkunz
2
.pkg-Dateien sind komprimierte Bündel von Dateien, die eine ausführbare Datei und andere Installationsdaten enthalten, ähnlich einer vollständig enthaltenen, komprimierten .app, die für die Installation vorgesehen ist.
Phoebus
3
.pkg-Dateien sind eigentlich technische Dokumente für Installer.app. Wenn sie tatsächlich als separates Programm ausgeführt werden, sind sie keine echten .pkgs.
Chealion
In diesem Punkt hätte ich zwar klarer sein können.
Phoebus
@phoebus - Um klar zu sein, ist ein .pkg eine Datei, wie in etwas, das ich Benutzern zum Herunterladen von meiner Website anbieten kann, und nicht in einem Ordner, wie in etwas, das ich Benutzern nicht zum Herunterladen von meiner Website anbieten kann?
ArtOfWarfare
4

Sie können auch jede Datei ausführen, deren Berechtigungen auf ausführbar festgelegt sind, da sie natürlich tatsächlich ein gültiges Programm enthält.

Fred
quelle
1
Das native ausführbare Format auf dem Mac OS ist mach-O BTW. en.wikipedia.org/wiki/Mach-O
Fred
4

.dmgDateien sind die Disk-Image-Dateien, die normalerweise zum Installieren von Mac-Apps verwendet werden. Nach der Installation haben Mac-Apps normalerweise die Erweiterung .app, aber diese Erweiterung ist normalerweise für den Benutzer nicht sichtbar. Mac-Apps sind Pakete, die dem Benutzer als einzelne Datei angezeigt werden. Dies macht es sehr bequem, Apps in einen neuen Ordner oder einen neuen Computer zu verschieben.

Bob D.
quelle
0

Jede ausführbare Datei in Windows hat die Erweiterung .exe

Das ist nicht richtig. Unter DOS gab es zwei ausführbare Dateierweiterungen: *.COMund *.EXE. Windows hat diese geerbt und unterstützt daher auch * .com und * .exe . Beachten Sie, dass * .exe nur der "Container" ist, der verschiedene ausführbare Formate enthält

Wenn Sie einen Befehl ohne Erweiterung ausführen, hängt Windows die Erweiterungen an die %pathext%Umgebungsvariable an und sucht, bis die erste Datei mit diesem Namen gefunden wird. Der Standardwert der Variablen lautet wie folgt

>echo %pathext%
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

Wie Sie sehen, gibt es andere ausführbare Dateitypen, die Windows ausführen wird (ohne Erweiterung), aber die meisten davon sind Skripte und keine binären ausführbaren Dateien .

Trotzdem verwendet Windows die Dateierweiterung nicht , um das Dateiformat zu bestimmen. Alle Dateien, die mit beginnenMZ (dies ist die Signatur für das MZ-Format) , werden als ausführbare Datei behandelt .

Windows 10 bietet auch die Möglichkeit, Linux ELF-Binärdateien mit der Einführung von

Setup-Dateien in Windows werden häufig auch in * .msi-Dateien bereitgestellt, deren Format von Windows Installer gelesen wird , obwohl es sich streng genommen nicht um eine ausführbare Datei handelt

phuclv
quelle
1
MSIs und JS-Dateien sind ausführbar, aber keine ausführbaren Dateien. MSI ist ein Installationspaket: Wenn Sie darauf doppelklicken, es msiexec.exestarten und öffnen, so wie Sie Paint zum Öffnen von JPEGs verwenden könnten, werden sie nicht zu einer ausführbaren Datei. WScript.exeWird also mit JS verwendet, um sie zu öffnen (überprüfen Sie den HKCU-Zweig in Ihrer Registrierung). BATs und CMDs liegen irgendwo dazwischen, man könnte argumentieren, ob sie ausführbar sind - sie werden vom Explorer nativ unterstützt, müssen aber noch interpretiert werden.
Gronostaj
Auf diese Weise sind .NET-Exe-Dateien auch keine "ausführbaren Dateien", da sie nur unter .NET-Framework ausgeführt werden können, nicht direkt von der CPU
phuclv
1
Es hängt davon ab, wie Sie "Ausführbarkeit" definieren. Ich glaube, MSIs sind ohne Zweifel nicht ausführbar, da sie nur ein Archiv sind - optimiert für Installer, aber das spielt in diesem Fall keine Rolle. Sie sind nicht ausführbarer als ZIPs. Skripte jeglicher Art stehen am Rande der Ausführbarkeit, da sie einen Interpreter benötigen. Ich kenne keine Details darüber, wie .NET EXEs ausgeführt werden, aber ich würde sagen, dass sie mit CLASS identisch sind - sie enthalten eine Art Maschinencode (der übersetzt / interpretiert werden muss, aber immer noch).
Gronostaj