Klingt so, als hätten Sie ein Missverständnis von Microsofts Versprechen bekommen.
Open Specification Versprechen
Veröffentlicht am: 12. September 2006. Überarbeitet: 15. Februar 2007
Microsoft verspricht unwiderruflich, keine Microsoft-Rechte geltend zu machen Ansprüche gegen Sie wegen Herstellung, Nutzung, Verkauf, Angebot zum Verkauf, Importieren oder Verteilen von Implementierungen in dem Maße, wie sie konform sind zu einer Covered Specification ("Covered Implementation"), vorbehaltlich der Folgendes. Dies ist ein persönliches Versprechen direkt von Microsoft an Sie, und Sie erkennen als Bedingung an, davon zu profitieren, dass nein Microsoft-Rechte werden von Lieferanten, Distributoren oder ansonsten im Zusammenhang mit diesem Versprechen. Wenn Sie file, pflegen oder freiwillig an einem Patentverletzungsverfahren gegen a Microsoft-Implementierung solcher Covered Specification, dann dies Persönliches Versprechen gilt nicht in Bezug auf alle Covered Implementierung derselben Covered Specification, die von Ihnen erstellt oder verwendet wird. Zur Klarstellung, "Microsoft notwendige Ansprüche" sind diese Ansprüche von Microsoft-eigene oder Microsoft-kontrollierte Patente, die notwendig sind implementieren Sie nur die erforderlichen Teile der Covered Specification, die werden ausführlich beschrieben und nicht nur in solchen verwiesen Spezifikation. "Abgedeckte Spezifikationen" sind unten aufgeführt.
Dieses Versprechen ist keine Zusicherung, weder (i) noch von Microsoft erteilte Patentansprüche decken eine gedeckte Implementation ab oder sind durchsetzbar oder (ii) dass eine gedeckte Implementierung keine Verletzung darstellt Patente oder andere geistige Eigentumsrechte Dritter. Nein andere Rechte als die, die ausdrücklich in diesem Versprechen angegeben sind als stillschweigend vorausgesetzt, entbehrt oder implizit erhalten, Erschöpfung, estoppel oder anders.
Die vollständige Liste der offenen Spezifikationen finden Sie unter
Da MSI nicht in der Liste aufgeführt ist, können Sie davon ausgehen, dass es sich um einen privaten Standard handelt und nicht an die allgemeine Öffentlichkeit weitergegeben wird.
Das Binärformat ist nicht offen, ich würde nicht einmal so weit gehen, es als Standard zu bezeichnen.
Allerdings gehe ich davon aus, dass es nicht das Dateiformat ist, das Sie sich ansehen (was undokumentiert ist), sondern die Tabellen, Aktionen, Sequenzen usw., die bei der Verbindung mit dem MSI über das Windows Installer SDK, API, Orca sichtbar sind , usw.
Alles wird in der SDK-Dokumentation behandelt, aber aus irgendeinem Grund rangieren Suchmaschinen die Dokumentation nicht sehr hoch ein. Außerdem können Sie das Windows Installer SDK nicht mehr separat herunterladen. Es ist jetzt Bestandteil des Windows SDK.
MSI-Dateien sind COM-strukturierter Speicher, der hier beschrieben wird: Strukturierter Speicher ( Windows) .
Das MSI-Dateiformat ist nicht offen und tatsächlich nicht dokumentiert. Die für den Zugriff auf diese Dateien erforderliche API ist jedoch Teil der Windows Installer SDK . Dieser Link beschreibt sowohl die API-Funktionen, die für den Zugriff auf MSI-Datenbanken (Dateien) erforderlich sind, als auch den Inhalt der Tabellen in einer MSI-Datenbank.
Das heißt, wenn Sie den Inhalt eines MSI ändern oder anzeigen möchten, dann ist es wahrscheinlich der einfachste Weg, dies zu tun, indem Sie einfach einen Editor verwenden, den jemand anderes erstellt hat (der wiederum diese Funktionen verwendet). Die, die ich kenne, sind:
Wenn Sie mehr über die Details des MSI-Dateiformats erfahren möchten, dann lesen Sie sich diese beiden Blogartikel von Rob Mensching (dem Autor von WiX) durch
Sind Sie sicher, dass das .MSI-Datenbankformat zum Ändern eines Installationsprogramms erforderlich ist? Hast du von dem Orca-Werkzeug gehört? Wenn nicht, ist dieser MS KB Artikel für Sie:
verwendenBei meiner Arbeit mit MSI wurde dieser Link Windows Installer Tools & amp; Tipps war sehr hilfreich.
Vergessen Sie nicht MakeMSI , welches eine kostenlose App zum Erstellen von MSI-Dateien ist.
Tags und Links windows-installer