Diese Antwort erläutert .msi
und setup.exe
Dateien für die Installation einer Anwendung unter Windows.
Gibt es Entsprechungen zu .msi
und zu setup.exe
Dateien in Debian oder Ubuntu? Do .deb
Paketdateien entsprechen .msi
oder setup.exe
oder etwas anderes?
.setup
Windows gibt es keine Dateien. Istsetup.exe
das ein typischer Name für ein Installationsprogramm?apt-get
Manpage und die von dort verlinkten Dokumente. Selbst für Windows gibt es keine Entsprechungapt-get install
, geschweige denn für alle anderen Funktionen.apt-get
, aber die neuesten (ab Win7) Versionen von PowershellOneGet
können installiert werdenChocolatey
(entsprichtHomebrew
Mac). Sie mögen weniger beliebt sein als ihre 'nix-Entsprechungen, aber zu sagen, dass es unter Windows keine Entsprechung gibt, ist offensichtlich falsch..msi
Dateien und Installationsprogrammen interessieren Sie? Was sind die genauen Kriterien, um festzustellen, ob etwas "gleichwertig" ist oder nicht? Zum Beispiel: Installer sind nur Programme wie jedes andere Programm. An einem Programm mit dem Namen ist absolut nichts Besonderessetup.exe
. Dasetup.exe
ist nur ein Programm wie jedes andere Programm, und Debian sicherlich tut haben ein Konzept von „Programm“, betrachten Sie das Äquivalent? Wenn nein, warum nicht?Antworten:
Wahrscheinlich näher an einem MSI-Installationsprogramm als an einem
setup.exe
, enthält ein.deb
Paket einen Baum von Dateien, die in das Dateisystem kopiert werden sollen, sowie eine Sammlung von Hooks, die vor und nach der Installation ausgeführt werden sollen (unter anderem). Die Hooks können effektiv alles auf dem System tun, einschließlich etwas, von dem ich glaube, dass ich es unter Windows noch nie gesehen habe: Hinzufügen von Benutzern für einen Systemdienst. Eine Sache, die sie nicht tun können, ist die Installation eines anderen.deb
Pakets - die Datenbank ist während der Installation gesperrt, daher kann dies nur durch Abhängigkeiten erreicht werden. Bei der Installation eines.deb
Pakets werden dann zur Vereinfachung der Wartung Einträge in einer zentralen Datenbank mit installierten Paketen erstellt.Das
ttf-mscorefonts
Paket ist insofern interessant, als das Paket selbst nur ein Skript zum Herunterladen und Installieren der Schriftarten enthält. Dieses Skript wird in einem dieser Hooks ausgeführt.Näher an
setup.exe
könnte ein Progamm Quellcode von der Projekthomepage wird das Herunterladen dann laufen./configure && make && sudo make install
, oder was auch immer andere Methode der Autoren entschieden. Da bei dieser Methode das Paket nicht zur Datenbank der installierten Programme hinzugefügt wird, kann das spätere Entfernen erheblich schwieriger sein.Ein weiterer Unterschied besteht darin, dass a
.deb
seine Abhängigkeiten angibt, sodass eine ordnungsgemäße Installation garantiert werden kann. Soweit ich weiß, kann in der Windows-Welt ein MSI nicht die Installation eines anderen MSI verursachen. Dahersetup.exe
wird es normalerweise für diese Art der Abhängigkeitsverfolgung verwendet. In mehreren Kommentaren wird darauf hingewiesen, dass MSIs Abhängigkeiten benennen können. Da es jedoch keine zentrale Datenbank für MSIs gibt, wie dies für.deb
Pakete der Fall ist , führt das Fehlen einer Abhängigkeit lediglich zu einem Installationsfehler.A
.deb
liegt also sozusagen zwischen einem MSI-Installer und asetup.exe
. Das Paket kann während der Hooks vor und nach der Installation alle gewünschten Aktionen ausführen, kann seine eigenen Abhängigkeiten benennen und in der Regel finden und speichert die Installation an einem zentralen Ort, um die Wartung zu vereinfachen.quelle
setup.exe
Installationsprogramme im Stil von -style auch in das System des überwachten Installationsprogramms integriert (mit Deinstallationsprogrammen usw.). Sowohl mit MSI als auch mit.exe
Installationsprogrammen werden Abhängigkeiten behandelt, indem die Abhängigkeit in das Installationsprogramm eingebettet wird ( z. B. das weiterverteilbare VC-Installationsprogramm oder das DirectX-Installationsprogramm) und indem Abhängigkeits-DLLs neben der ausführbaren Datei (oder als Systemassemblys) installiert werden. Sosetup.exe
ist es auch ähnlich.deb
. Das Äquivalent zum Bauen aus dem Quellcode ist auch das Bauen aus dem Quellcode unter Windows ;-).setup.exe
-Style-Installer werden vom Betriebssystem in keiner Weise "verfolgt", es sei denn, sie führen MSIs darunter aus (und dann werden die MSIs verfolgt). Die Tatsache, dass sie einen Registrierungsschlüssel zur Deinstallation haben, hat darauf keinen Einfluss. Das heißt, jede Datei wird nachverfolgt, weil sie im Dateisystem aufgelistet ist.Einzelne Binärinstaller, die ich unter Linux gesehen habe, waren
.sh
Dateien, die ein Shell-Skript enthielten, das mit einem Binär-Blob verknüpft war, wie folgt:Dies ist im Wesentlichen äquivalent zu a,
setup.exe
das sich auch selbst in einen temporären Ordner extrahiert und von dort aus das eigentliche Installationsprogramm ausführt.quelle
Entnommen aus: /ubuntu/13415/what-are-run-files/13416#13416
quelle