Extrahieren von Dateien aus Modul

Alles was ich will ist ein Befehlszeilen-Werkzeug, das extrahieren von Dateien aus einem merge-Modul (.msm) auf die Platte. Anders gesagt, ich will das gleiche "administrative Installation" - Funktion, die möglich ist, für ein MSI:

msiexec /a myProduct.msi TARGETDIR="C:\myInstallation" /qn

Den oben genannten funktioniert nur auf einem msi (in der Nähe von wie ich sagen kann). So, um den gleichen Effekt für ein merge-Modul, ich versuche msidb.exe und orca.exe Die Dokumentation zu orca-Staaten:

Viele merge-Modul-Optionen
über die Befehlszeile angegeben...

Extrahieren von Dateien aus einem Merge-Modul

Orca unterstützt drei verschiedene Methoden
für das extrahieren von Dateien, die in einer
merge-Modul. Orca-extrahieren
einzelne CAB-Datei, und extrahieren Sie die Dateien
in ein Modul Struktur und extrahieren Sie die
Dateien in ein Quell-Bild, sobald es hat
zusammengeführt wurden in eine Ziel-Datenbank...

Extrahieren Von Dateien

Zum extrahieren der einzelnen Dateien aus einem
merge-Modul, verwenden Sie die

... -x - ... - option auf die
Befehl-Linie, wo ist die
gewünschten Pfad zu dem neuen Verzeichnis
Baum.

Den angegebenen Pfad als Stammverzeichnis
Pfad für die extrahierten Dateien. Alle
Dateien werden extrahiert aus der CAB-Datei
eingebettet in das Modul und platziert in
der angegebene Pfad. Das Verzeichnis
layout für die extrahierten Dateien
auf der Grundlage der directory-Baum des
merge-Modul.

Es klingt wie das, was ich brauche. Aber wenn ich es versuche, orca einfach öffnet Sie mit einem editor (mit Infos über die msm, die ich angegeben) und macht dann nichts. Ich habe versucht eine Vielzahl von Kommando-Zeilen, in der Regel beginnend mit diesem:

orca -x theDirectory theModule.msm

Benutze ich "theDirectory" als was auch immer leere Ordner, die ich möchte. Wie ich schon sagte - es hat nicht alles tun.

Dann habe ich versucht msidb, wo ein paar versuche die ich gemacht habe, wie folgt Aussehen:

msidb -d theModule.msm -w {Lagerung}

msidb -d theModule.msm -x-MergeModule.Schrank

Im ersten Fall, ich weiß nicht, was für {Speicher}. Im zweiten Fall, es stellt sich heraus, dass die Zeichenkette "MergeModule.CABinet" ist erforderlich (es ist ein reservierter name). Allerdings werden die extrahierten Kabinett nicht die Erhaltung der Datei-Hierarchie oder eine "normale" Datei-Namen; also ich kann es nicht verwenden für meine Zwecke.

Kann mir jemand erklären, was ich falsch mache mit dem Kommandozeilen-Optionen? Gibt es andere Tools, die das können?

InformationsquelleAutor Brent Arias | 2010-04-23
Schreibe einen Kommentar