Frage Die geschäftlichen Vorteile der Verwendung von MSI-Dateien


Was sind die Vorteile der Verwendung von .msi-Dateien gegenüber regulären setup.exe-Dateien?

Ich habe den Eindruck, dass die Bereitstellung auf Computern einfacher ist, auf denen Benutzer nur wenige Berechtigungen, aber nicht sicher über die Details verfügen.

Welche Funktionen hat msiexec.exe, die die Bereitstellung einfacher machen als die Verwendung von setup.exe-Szenarien?

Irgendwelche Tipps oder Tricks bei der Bereitstellung von .msi-Anwendungen?


56
2018-05-23 21:37


Ursprung




Antworten:


Nur ein paar Vorteile:

  • Kann beworben werden (damit die Installation bei Bedarf stattfinden kann).
  • Wie Werbung können Funktionen installiert werden, sobald der Benutzer versucht, sie zu verwenden.
  • Die Statusverwaltung wird beibehalten, sodass Windows Installer Administratoren die Möglichkeit bietet, zu sehen, ob eine Anwendung auf einem Computer installiert ist.
  • Möglichkeit zum Rollback, wenn eine Installation fehlschlägt.

Ich denke daran, wenn ich Software in einer Unternehmensumgebung vertreibe: Die Bereitstellung von Software über MSI macht fast Spaß. Im Gegensatz dazu habe ich fast immer Angst vor der Bereitstellung von Software, wenn sie sich in einem anderen Container befindet.

Wenn Sie weitere Informationen zum Bearbeiten von MSI-Installationen benötigen, geben Sie Folgendes ein msiexec in den Ausführen-Dialog.


42
2018-05-23 21:52



+1 - Ich habe das Ende 2009 noch nicht gesehen (ich glaube, die Seite war damals noch in der Beta), aber ich Liebe die "... ich finde mich fast immer vor ...". ich total fühle mich so (obwohl, um fair zu sein, einige "MSIs" lassen mich das gleiche Gefühl ... Java ... Google Chrome ...). - Evan Anderson


UPDATE, Juli 2018: Eine extrem komprimierte Zusammenfassung der folgenden Informationen ist in stackoverflow verfügbar: Die wichtigsten Vorteile von MSI  ("executive summary" - von Art).


Ich habe in der Entwicklung als gearbeitet Release-Manager, Bauingenieur, Entwickler einrichten und als Anwendungspacker und Bereitstellungsingenieur in großen Unternehmen.

Dies ist eine Überprüfung der besten (und schlechtesten) konzeptionell und reale Funktionen von MSI. Am meisten häufige Designprobleme gefunden in MSI-Dateien werden als dargestellt eine separate Antwort unten. Nicht vorgeben, vollständig zu sein - wirklich nur eine chaotische "Gehirn-Dump" - gemeint als "das Zeug, das nicht in Büchern gefunden werden kann" (wahrscheinlich aus gutem Grund).

Ich möchte das auch vorschlagen MSDN-Artikel als eine gute lesen: Windows Installer: Vorteile und Implementierung für Systemadministratoren.


Standardisierung:

Mit einem Wort, MSI ist über Standardisierung und über den Umgang mit "Deployment Gerüche"von alten Installertechnologien. Eine ganze Sammlung von schlechten Installationsarchitekturentwürfen, die wiederholte Bereitstellungsprobleme verursachten.

Insgesamt bietet MSI ein umfassender, standardisierter Rahmen für den Installateur, Dazu gehört auch die Deinstallation und integrierte Funktionen und Optionen für leiser Lauf mit standardisierte GUI welches sein kann Ferngesteuert ausgelöst.

Alleine diese Eigenschaften stellen eine massive Verbesserung dar im Vergleich zu früheren Installationstechnologien, bei denen Deinstallation und stilles Ausführen planlos behandelt wurden - vielleicht die wichtigsten Funktionen für den Unternehmenseinsatz zusammen mit zuverlässigen Remote-Paketverwaltung


73
2018-05-27 17:40





Diese Antwort ist sehr in Arbeit und ein grober Überblick. Ergänzungen, Fragen und Updates willkommen. Diese Liste ist keineswegs erschöpfend. Fügen Sie einen Kommentar mit Informationen über problematische Pakete hinzu.


Typische Probleme und Konstruktionsfehler in MSI-Paketen

Ich muss auch warnen, dass viele MSI-Dateien Fehler enthalten, manchmal schwerwiegende, aber geschulte Anwendungspacker werden in der Lage sein, dies zu erkennen und in den meisten Fällen das Problem zu beseitigen. Ich füge das als eine separate Antwort hinzu, da es im Wesentlichen eine andere Frage beantwortet, aber ich denke, dass es in demselben Thread relevant ist.

Die technischen Details von MSI sind sehr kompliziert. Auf der grundlegenden Ebene geht es darum, Ihre Dateien und Registrierungseinstellungen in Komponenten (atomare Installation) und Features (durch den Benutzer auswählbare Anwendungsteile, z. B. eine Wörterbuchfunktion) zu zerlegen. Es gibt eine Reihe von Best-Practice-Regeln für die Aufteilung der Komponenten, und Fehler in MSI-Dateien sind reichlich vorhanden. Diese Fehler werden in der Regel durch die Standardisierung der Verwendung von "Major Upgrades" behoben.

Die tatsächliche Installation wird in einer Reihe von Installationssequenzen durchgeführt, von denen einige mit erhöhten Rechten versehen sind. All diese Dinge sind in Datenbanktabellen definiert, und das ist, wo MSI schrecklich kompliziert zu verstehen und zu behandeln ist. In den Installationssequenzen sind Standard- und benutzerdefinierte Aktionen enthalten. Die Standardaktionen werden von Microsoft entwickelt und müssen ausgeführt werden (die Reihenfolge kann manchmal geändert werden). Benutzerdefinierte Aktionen stehen Anbietern zur Verfügung, um benutzerdefinierte Logik durchzuführen, die nicht von MSI selbst abgedeckt wird. Diese können in Skriptform oder in kompilierter Form vorliegen. Benutzerdefinierte Aktionen können sofort ausgeführt werden (sofort ausgeführt werden, sollten das System nicht ändern, tun dies aber oft) oder zurückgestellt (in ein Exception-Skript geschrieben, das dann als Transaktion ausgeführt wird und daher Rollback unterstützt).

Typische Fehler in einem MSI sind (in keiner bestimmten Reihenfolge - und wirklich als echte Sauerei dargestellt):


24
2018-05-27 18:58





Die Verwendung von MSI erleichtert auch das Patchen (MSP-Dateien) und Upgrades. MSI verwendet das Konzept von einzigartigen Produkt- und Upgrade-Codes, die den gesamten Prozess vereinfachen.

Einige Deployment-Systeme (CA Unicenter Software Delivery ist ein Beispiel) können auch MSIs auf eine spezielle Art und Weise verstehen, wodurch sie sich viel besser in das Deployment-System integrieren lassen. Sie können beispielsweise ein MSI in die Softwarebibliothek des Bereitstellungssystems eingeben und es erkennt automatisch die verschiedenen Funktionen innerhalb des Produkts und ermöglicht automatisch granularere benutzerdefinierte Aktionen (lokale Installation, Überprüfung, Reparatur usw.) und Protokollierung.

Selbstheilung / Reparatur ist auch ein großes Plus für MSI's.


5
2018-05-23 23:33





Sieh dir auch Open Source an Windows Installer-XML"Ein Toolset, das Windows-Installationspakete aus XML-Quellcode erstellt. Das Toolset unterstützt eine Befehlszeilenumgebung, die Entwickler in ihre Build-Prozesse integrieren können, um MSI- und MSM-Setup-Pakete zu erstellen." Dies wird von MS verwendet, um einige seiner wichtigsten Softwarepakete vorzubereiten.


2
2018-05-24 00:11





Sie können Transformationen durchführen - theoretisch können Sie viel anpassen, wenn das Programm vom Hersteller richtig verpackt wurde, können Sie eine vollautomatische Bereitstellung ohne Interaktion mit dem Endbenutzer durchführen - was sehr hilfreich ist, wenn Sie Ihre Windows-Umgebung standardisieren und mehr als nur eine Handvoll haben möchten von Computern.

um zu sehen, was Menschen beispielsweise mit msis [oder unbeaufsichtigtem Einsatz] tun diese Website und es ist Foren.


0
2018-05-23 21:47