Installations-Programm: Unterschied zwischen *.exe und *.msi

Dieser Thread ist Teil einer Diskussion zu einem Artikel:  Zum News-Artikel gehen

crimle

Stammgast
Heute habe ich die Downloadseite von Thunderbird besucht. Dabei ist mir aufgefallen, dass es zwei verschiedene Downloads gibt:
  • Windows 64-bit (das ist eine *.exe Datei)
  • Windows MSI 64-bit (das ist ein *.msi Datei)
Mit «Windows MSI 64-bit» war ich nicht erfolgreich. Es erschien noch die gewohnte «Möchten Sie zulassen...» Abfrage. Doch dann passierte nichts mehr. Mit «Windows 64-bit» konnte Thunderbird dann erfolgreich installiert werden.

So viel ich weiss bedeutet MSI Microsoft Installer. Aber warum funktioniert das auf meinem Windows 10 64 Bit Rechner nicht? Und warum gibt es überhaupt zwei Varianten?

Vielen Dank und Gruss
Christof
 

Billmar

Stammgast
Hallo Christof

MSI sind Installationsdateien welche mit unzähligen Parametern gestartet werden (können). Ist vor allem für automatisierte Installationen in gemangten Umgebungen gedacht, wenn ganze Abteilungen im Hintergrund mit Programmen ausgestattet werden und die Benutzer nicht x-Fragen zur Installation beantworten müssen/können/wollen/dürfen :) . Auch "silent"-Install genannt.
Details dazu hier: https://docs.microsoft.com/en-us/windows/win32/msi/command-line-options
Das win32 im Pfad darfst Du ignorieren ;-)
Starte die MSI mal in einer Eingabeaufforderung mit administrativer Berechtigung und dem Parameter /?

Gruss Mario
 

marasmi

Neues Mitglied
Hallo,

aus Anwendersicht und Windows 11-Tester habe ich ganz einfach VLC einmal mit .exe und .msi Version geladen.

Auf einem frisch installierten Windows 11 sind mir sofort Dinge aufgefallen.

Siehe den Screenshot

Capture.PNG

- Bei .msi gibt es kein Icon von der Software. Bei .exe gibt es ein Icon, in diesem Fall das Icon von VLC. Für mich ein Pluspunkt, damit ich die Software optisch von anderen unterscheiden kann, oder einfach weil es schön ist.

- Die Installation von .msi hat nicht sofort funktioniert. Mit .exe hat es sofort funktioniert. Ich weiß nicht genau, warum es mit .msi nicht funktionierte.

Hinweis: Ich habe alles offline ausgeführt. Für mich sieht es so aus, dass bei .exe alles direkt gemacht wird und sehr unabhängig wirkt, also wenn der Entwickler alles in .exe integriert hat, sollte es sofort installierbar sein, oder sogar ohne Installation z.B. als portable Version sofort ausführbar sein.

.msi scheint irgendwie auf bestimmte Dienste oder externe Abhängigkeiten angewiesen zu sein, nach meinen Recherchen gibt es .exe oder den Vorgänger seit mindestens 1981. https://de.wikipedia.org/wiki/MZ-Datei

.msi erst seit 1999 https://en.wikipedia.org/wiki/Windows_Installer
 

Billmar

Stammgast
Die Installation von .msi hat nicht sofort funktioniert.
Ja wen wunderts: *.msi - Dateien sind für automatisierte Installationen gedacht und nicht zum Starten einer manuellen Installation ;-)
Wenn da nicht die korrekten/notwendigen Parameter mitgegeben wird, kann das schon mal so wie bei dir enden. Für eine Manuelle Installation würde ich einfach die *setup*.exe nehmen.
Recherchen gibt es .exe oder den Vorgänger seit mindestens 1981. https://de.wikipedia.org/wiki/MZ-Datei
.msi erst seit 1999 https://en.wikipedia.org/wiki/Windows_Installer
Ja klar - Die automatische Installation wurde erst später entwickelt, als man in Firmen massenweise Computer mit der gleichen SW installieren musste. Mit den *setup*.exe wurden schon unter DOS 2.1 (daran mag ich mich erinnern) Installationen durchgeführt - alle von Hand und mit vielen 51/4" Disketten :-)

Im vorliegenden Fall kann es auch am paketierten *.msi liegen welches allenfalls noch nicht W11 ready sein dürfte.
Hier die Details zur Installation mit MSIEXEC-Installer: https://docs.microsoft.com/de-de/windows-server/administration/windows-commands/msiexec
HTH Gruss Mario

Kleiner Nachtrag für Interessierte: https://silentinstallhq.com/video/ezoic/view?videoID=4c13d7a187f1c32a5568db35aeb1bb2acbc2235e
 
Zuletzt bearbeitet:

marasmi

Neues Mitglied
@Billmar
Danke für die Info.

Weißt du auch etwas über .appxbundle und .msixbundle? Die meiner Meinung nach eher für den Microsoft Store entwickelt wurden und ich aus dem Test jetzt keine Vorteile aus Anwendersicht entdeckt habe, eigentlich nur Probleme. So wie ich es verstehe, soll dieses Format die Zukunft für Windows sein, ist das wahr, was sagt Microsoft dazu und was sagen die Windows-Entwickler?

Ein Beispiel für eine solche Software ist FluentTerminal

Das Problem, das ich hier sehe, ist, dass ich, wenn ich FluentTerminal.Package_0.7.5.0.zip entpacke, viele einzelne Dateien sehe, die sich in dem Ordner befinden, plus die Abhängigkeiten.
In meinem Fall konnte ich diese Software nicht offline unter Windows 11 installieren - ich habe einfach doppelt auf FluentTerminal.Package_0.7.5.0_x86_x64.appxbundle geklickt -, weil das Zertifikat dieser Software nicht vertrauenswürdig ist.

Capture.PNG


Im Vergleich zu .exe Anwendersoftware sehr unfreundlich gemacht. Die negativen Punkte für mich sind.
- es gibt keine einzelne Datei, die alles integriert hat (z. B. die Abhängigkeiten), wo der Benutzer dann nur auf die eine Datei klicken muss und alles installiert wird, sofern der Entwickler das beachtet hat
- genau wie bei .msi gibt es kein Icon der Software, so dass ich die Software visuell nicht unterscheiden kann
- es gibt wahrscheinlich keine portable Version, d.h. ich kann nicht mehrere verschiedene Versionen der gleichen Software laufen lassen, nur eine darf installiert und ausgeführt werden.
- wahrscheinlich nur Windows 10 und Windows 11 kompatibel. Das heißt, Windows 8, 7, Vista, XP können nichts mit .appxbundle oder .msixbundle anfangen.
- hier bin ich mir nicht sicher, aber siehe den Screenshot, dass der Benutzer Skripte über PowerShell verwenden soll, damit es wahrscheinlich installiert werden kann, sieht sehr nach einem ähnlichen Verhalten gegenüber Linux-Distributionen und anderen Betriebssystemen aus, die ausschließlich Paketmanager verwenden, was ich nicht mag, weil man es nicht mehr so einfach mit ein paar Klicks offline installieren kann und man sich damit noch abhängiger von zentralen Servern macht.

Das ist auch einer der großen Gründe, warum ich bis heute keine Linux-Distributionen, BSD-Betriebssysteme etc. verwenden möchte. Die Server, auf denen die Pakete bereitgestellt werden, müssen einfach heruntergefahren werden und dann kann ich im Terminal nichts mehr installieren. Kenne auch keine einfache Methode in ein paar Schritten, dass man, wenn man die Pakete schon installiert hat, diese sichern und auf einen anderen Rechner übertragen kann, so dass man die Software wieder hat, die man vorher installiert hat.

Unter Windows kann ich einfach die .exe-Datei auf eine externe Festplatte sichern.
 

Billmar

Stammgast
Im vorliegenden Fall kann es auch am paketierten *.msi liegen welches allenfalls noch nicht W11 ready sein dürfte.
Hier noch meine Korrektur zu obiger Aussage:
Das vlc-3.0.16-win64.msi funktioniert tadellos unter Windows 11 und macht genau das was es soll!
So wie ich es verstehe, soll dieses Format die Zukunft für Windows sein, ist das wahr, was sagt Microsoft dazu und was sagen die Windows-Entwickler?
Ein in Zukunft gängiger Weg für das Installieren von Programmen und Apps (sind ja auch nur Programme) wird vermutlich mit "winget" realisiert. Siehe dazu alle Infos unter: https://docs.microsoft.com/de-de/windows/package-manager/
Dies ist etwa das Pendant zu Linux "apt-get".
Hier noch was zum Studieren: https://de.wikipedia.org/wiki/Installation_(Computer)
Im Vergleich zu .exe Anwendersoftware sehr unfreundlich gemacht. Die negativen Punkte für mich sind.
In allen Fällen wird aber immer der Hersteller (Entwickler) bestimmen, wie und in welcher Form sein Produkt zu installieren ist.
- genau wie bei .msi gibt es kein Icon der Software, so dass ich die Software visuell nicht unterscheiden kann
Wenn die notwendigen Parameter für das setzen der Icons beim Installieren fehlen, dann werden diese halt auch nicht gesetzt (erscheinen nicht).
Nochmal "MSI's" sind für automatisierte "silent" Installationen gedacht und NICHT für den Endanwender.
Der Aufruf dazu auf der Command-Line: msiexec /Option <Erforderliche Parameter> [Optionale Parameter]

Wenn der Entwickler einer SW von Hause aus keine "Portable-Version" vorsieht, dann ist eben Handarbeit angesagt und mit entsprechenden Tools das Verhalten der SW zu kontrollieren und daraus die notwendigen Schlüsse zu ziehen.
Als erstes würde ich aber den Hersteller kontaktieren und bei diesem alle notwendigen Informationen abholen.

Gruss Mario
 

marasmi

Neues Mitglied
Hier noch meine Korrektur zu obiger Aussage:
Das vlc-3.0.16-win64.msi funktioniert tadellos unter Windows 11 und macht genau das was es soll!
Im Screenshot kann man teilweise sehen, dass ich VLC 4.0 getestet habe.


.msi
vlc-4.0.0-dev-win64-0635abe2.msi (dies konnte unter Windows 11 nicht offline installiert werden)

.exe
vlc-4.0.0-dev-win64-0635abe2.exe


Ein in Zukunft gängiger Weg für das Installieren von Programmen und Apps (sind ja auch nur Programme) wird vermutlich mit "winget" realisiert. Siehe dazu alle Infos unter: https://docs.microsoft.com/de-de/windows/package-manager/
Genau wie ich befürchtet habe, wird Windows mehr und mehr wie Linux werden, bis der Benutzer schließlich nur noch den Paketmanager benutzen kann. Alle anderen Optionen werden mehr oder weniger entfernt oder sehr erschwert werden.
Mir ist in den letzten Jahren schon aufgefallen, dass Microsoft immer mehr alles in die Cloud investiert, überhaupt, dass so viele Länder auf der Welt die Agenda 2030, den Impfpass, mehr Digitalisierung (anderes Wort für mehr Überwachung) befürworten. Das hat mit Freiheit und Unabhängigkeit überhaupt nichts mehr zu tun.

Generell fand ich es sehr seltsam, dass es seit Windows 10 ein Linux-Subsystem (WSL) gibt, das aber nichts mehr mit Windows oder der ursprünglichen Idee eines Desktop-Systems zu tun hat. Man kann langsam sagen, dass die ursprüngliche Idee eines Desktop-Systems langsam ausradiert wird. Damit hätte Linus Torvalds sein Ziel erreicht: Linux wird die Welt beherrschen. Für mich hat das nichts mit Benutzerfreundlichkeit zu tun.

Aus akademischer Sicht haben genug Leute gesagt, dass das Konzept des Linux-Kernels (monolithischer Kernel) sehr veraltet ist. Linux ist im Grunde komplett von den Kernel-Entwicklern abhängig, ohne sie würde Linux im Allgemeinen nicht mehr laufen. Es gibt seit Ewigkeiten andere Konzepte wie Mikrokernel, Exokernel usw., um die Abhängigkeit von den Kernel-Entwicklern stark zu reduzieren und trotzdem Sicherheit, Freiheit und Privatsphäre zu erhalten oder sogar zu verbessern. Windows zum Beispiel verwendet einen hybriden Kernel, der einige Ideen des Mikrokernels enthält.

Wie gesagt, Linux-Distributionen und viele BSD-Betriebssysteme sind im Prinzip völlig abhängig von zentralen Serversystemen, wenn der zentrale Server abgeschaltet wird, kann der Benutzer diese Systeme nicht mehr wirklich nutzen, weil es bis heute keinen einfachen Weg gibt, z.B. per Drag & Drop und Doppelklick seine Software (Pakete) ohne Terminal wieder offline auf einem anderen Rechner zu installieren.

Windows hat für diesen Weg das Konzept .exe verwendet, um so etwas teilweise zu verhindern, Microsoft hätte .exe auch so verbessern können, dass es die Funktionen für eine automatisierte Installation mitbringt. Das wäre sicherlich möglich gewesen.

In allen Fällen wird aber immer der Hersteller (Entwickler) bestimmen, wie und in welcher Form sein Produkt zu installieren ist.
Nicht wirklich, wenn Microsoft Windows in Zukunft so umgestaltet, dass es nicht mehr möglich ist oder durch Lobbyarbeit, dass die Cloud der einzige Weg für die Nutzer ist, oder man erschwert es oder beeinflusst indirekt die Entwickler, dass alles andere nicht mehr gefördert oder verbessert werden soll. Einige dieser Beispiele kann man bereits bei Apple mit ihrem macOS-System sehen.

Man muss auch bedenken, dass viele Konzerne viel Geld von Käufern wie uns bekommen, aber jahrzehntelang nur für ihre Interessen entwickeln. Bis heute verwenden viele Käufer Hardwareprodukte aus dem letzten Jahrzehnt, obwohl es schon genug Konzepte und Ideen von unabhängigen Forschern gibt, wie neue Technologien für Prozesse, Übertragungswege oder neue Batterietechnologien, um wirklich Freiheit und Unabhängigkeit zu erlangen, aber das Geld geht nicht direkt an sie, sondern an die Manager oder Kapitalinstitute.
 
Zuletzt bearbeitet:
Oben