Fügen Sie den Befehl zum Extrahieren des Kontextmenüs zu MSI-Dateien hinzu
Wenn Sie über ein MSI-Paket verfügen, möchten Sie möglicherweise dessen Inhalt extrahieren, ohne die App zu installieren. Dies ist schnell ohne die Verwendung von Tools von Drittanbietern möglich. Windows bringt bereits alles mit, was für den Betrieb benötigt wird. In diesem Artikel erfahren Sie, wie Sie dem Kontextmenü der MSI-Datei einen nützlichen Befehl "Extrahieren" hinzufügen.
Windows verarbeitet MSI-Pakete über die msiexec-App, die Teil von Windows Installer ist. Es ist ein integriertes Tool, das eine Reihe von Befehlszeilenschaltern unterstützt. Sie können mehr über sie erfahren, indem Sie den folgenden Befehl ausführen.
- Drücken Sie Gewinnen + R Tastenkombinationen auf der Tastatur, um das Dialogfeld Ausführen zu öffnen.
- Geben Sie Folgendes in das Feld Ausführen ein:
msiexec /?
- Windows Installer zeigt den Inhalt der Hilfe in einem Fenster an:
Es unterstützt die folgenden Schalter:
Installationsoptionen
Installiert oder konfiguriert ein Produkt
/a Administrative Installation – Installiert ein Produkt im Netzwerk
/J [/t ] [/g ]
Bewirbt ein Produkt - m an alle Benutzer, u an den aktuellen Benutzer
Deinstalliert das Produkt
Anzeigeoptionen
/quiet
Leiser Modus, keine Benutzerinteraktion
/passive
Unbeaufsichtigter Modus – nur Fortschrittsbalken
/q[n|b|r|f]
Legt die Benutzeroberflächenebene fest
n - Keine Benutzeroberfläche
b - Grundlegende Benutzeroberfläche
r - Reduzierte Benutzeroberfläche
f - Vollständige Benutzeroberfläche (Standard)
/help
Hilfeinformationen
Neustartoptionen
/norestart
Starten Sie nicht neu, nachdem die Installation abgeschlossen ist
/promptrestart
Fordert den Benutzer bei Bedarf zum Neustart auf
/forcerestart
Starten Sie den Computer nach der Installation immer neu
Protokollierungsoptionen
/l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*]
i - Statusmeldungen
w - Nichttödliche Warnungen
e - Alle Fehlermeldungen
a - Starten von Aktionen
r - Aktionsspezifische Datensätze
u - Benutzeranfragen
c - Initiale UI-Parameter
m - Informationen zu unzureichendem Speicher oder tödlichem Ausgang
o - Nachrichten über nicht ausreichenden Speicherplatz
p - Terminaleigenschaften
v - Ausführliche Ausgabe
x - Zusätzliche Debugging-Informationen
+ - An vorhandene Protokolldatei anhängen
! - Flush jede Zeile in das Protokoll
* - Alle Informationen protokollieren, mit Ausnahme der Optionen v und x
/log
Äquivalent von /l*
Update-Optionen
/update [;Update2.msp]
Wendet Update(s) an
/uninstall [;Update2.msp] /package Update(s) für ein Produkt entfernen
Reparaturoptionen
/f[p|e|c|m|s|o|d|a|u|v] Repariert ein Produkt
p - nur wenn Datei fehlt
o - wenn Datei fehlt oder eine ältere Version installiert ist (Standard)
e - wenn Datei fehlt oder eine gleiche oder ältere Version installiert ist
d - wenn Datei fehlt oder eine andere Version installiert ist
c - wenn Datei fehlt oder Prüfsumme nicht mit dem berechneten Wert übereinstimmt
a - erzwingt die Neuinstallation aller Dateien
u - alle erforderlichen benutzerspezifischen Registry-Einträge (Standard)
m - alle erforderlichen computerspezifischen Registrierungseinträge (Standard)
s - alle vorhandenen Verknüpfungen (Standard)
v - wird von der Quelle ausgeführt und speichert lokales Paket erneut
Öffentliche Eigenschaften festlegen
[EIGENSCHAFT=EigenschaftWert]
Die Option, die diese Situation betrifft, ist /a. Obwohl es als "Administrative Installation - Installiert ein Produkt im Netzwerk" beschrieben wird, kann es verwendet werden um den Inhalt eines einzelnen MSI-Pakets in kleinere einzelne Dateien zu extrahieren, die von a. bedient werden können aufnähen. Der folgende Befehl kann verwendet werden:
msiexec /a "Pfad\zu\Paket.msi" /qb TARGETDIR="Pfad\zum\Ziel\Ordner"
TARGETDIR ist eine für jedes Paket gemeinsame Eigenschaft, die den Zielordner für den Inhalt des MSI-Pakets angibt.
Der Schalter "/qb" weist Windows Installer an, während des Vorgangs die grundlegende Benutzeroberfläche anzuzeigen. Es wird ein Dialogfeld mit der Schaltfläche Abbrechen und dem Fortschrittsbalken angezeigt.
Ich kann zum Beispiel mit dem folgenden Befehl das MSI-Installationsprogramm des FAR Managers entpacken:
msiexec /a "C:\Users\winaero\Downloads\Far30b4774.x64.20160902.msi" /qb TARGETDIR="C:\Users\winaero\Downloads\Far"
Wenn der Zielordner nicht existiert, wird er automatisch erstellt. In meinem Fall wird der Unterordner Far im Download-Ordner erstellt.
Der obige Befehl kann direkt im Ausführen-Dialog eingegeben werden.
Fügen Sie den Befehl zum Extrahieren des Kontextmenüs zu MSI-Dateien hinzu
- Offen Registierungseditor.
- Gehen Sie zum folgenden Registrierungsschlüssel:
HKEY_CLASSES_ROOT\Msi. Paket\Shell
Spitze: So springen Sie mit einem Klick zum gewünschten Registrierungsschlüssel.
- Erstellen Sie hier einen neuen Unterschlüssel und benennen Sie ihn Extrakt.
- Erstellen Sie unter dem Schlüssel extrahieren einen neuen Unterschlüssel und benennen Sie ihn Befehl:
- Legen Sie den Standardwert des fest Befehl Unterschlüssel in die folgende Zeichenfolge:
msiexec.exe /a "%1" /qb TARGETDIR="%1 Inhalt"
Siehe folgenden Screenshot:
Wenn Sie im Datei-Explorer mit der rechten Maustaste auf ein MSI-Paket klicken, finden Sie einen neuen Kontextmenüpunkt "Extrahieren". Wenn Sie es ausführen, erstellt es im aktuellen Ordner ein neues Verzeichnis "package_name.msi Contents" und extrahiert dort den Inhalt des Pakets. Siehe folgenden Screenshot:
Um Ihnen Zeit zu sparen, habe ich gebrauchsfertige Registrierungsdateien erstellt. Sie können sie über den unten stehenden Link herunterladen.
Registrierungsdateien herunterladen
Die Undo-Datei ist enthalten.
Dieser Trick funktioniert unter Windows 10, Windows 8 und Windows 7.
Beachten Sie, dass einige Pakete die Administratorinstallation nicht unterstützen. Sie können mit dieser Methode nicht extrahiert werden. Wenn Sie ein MSI-Paket auf diese Weise extrahieren, wird auch sein administrativer Installationspunkt (der Ordner, in den es extrahiert wird) bedienbar. Ein Windows Installer-Patch (MSP) kann zum Aktualisieren verwendet werden, sodass bei der Installation des Pakets auch der Patch angewendet wird.