2016-07-25 5 views
0

Kurzversion - Ich habe eine MSI-Datei mit einem TreeView-Objekt für die Angabe von Modulen in der Installation enthalten. Diese können unter Verwendung von Befehlszeilenargumenten übergeben werden, aber leider haben die Autoren keine Liste von Komponenten zur Automatisierung der Installation veröffentlicht. Gibt es eine Möglichkeit, das TreeView-Objekt und die zugehörigen Namen oder Beschreibungen aus der MSI-Datei zu extrahieren?So extrahieren Sie die Knoten aus einem Baumansicht-Dialog aus einer MSI-Datei

Ich habe versucht, Orca zu verwenden, um die Components-Tabelle zu extrahieren, die die Komponentennamen von der .MSI enthält, aber keine freundlichen Namen oder Beschreibungen enthält, die im TreeView-Abschnitt der Benutzeroberfläche angezeigt werden.

Hintergrund (Sie können dies überspringen)

Ich habe eine Reihe von Installationspaketen mit ihren eigenen MSI-Dateien. Jedes wird wiederum von einer einzelnen Setup.exe aufgerufen, die von einem Team erstellt wurde, mit dem ich nicht kommunizieren kann. Um die Installation zu automatisieren kann ich die Komponenten gebe ich für die entsprechende MSI-Datei installiert werden soll durch den Aufruf

Setup.exe [/productinstallerargs=args]

Allerdings hat die Liste der Komponenten von den Autoren nicht veröffentlicht in 2 Jahren aktualisiert worden ist, während es hat war eine Anzahl von Neubauten und zusätzlichen Komponenten. Um neuere Versionen mithilfe einer automatischen Installation zu automatisieren, einschließlich der erforderlichen Komponenten, benötige ich eine Liste mit Komponentennamen, die an die Datei "Setup.exe" zusammen mit den zugehörigen Freindy-Namen übergeben werden. Die freundlichen Namen sind diejenigen, die die Leute, die die Software einsetzen, verstehen können.

Die naheliegendste Möglichkeit, dies zu tun, ist, das TreeView-Objekt von der MSI, die mit den Komponentennamen und Anzeigenamen an einer Stelle verknüpfen. Sobald ich diese beiden Namen pro Komponente habe, kann ich eine Liste mit den Namen der Komponenten erstellen, die die Ingenieure installieren müssen, und die korrekten Argumente für eine automatische Installation mit allen benötigten Paketen erstellen. So würde jede Hilfe, die freundlichen Namen zu erhalten, die den Komponentennamen entsprechen, indem Sie das TreeView-Objekt vom MSI oder von irgendeiner anderen Methode extrahieren, sehr geschätzt.

+0

Sie können versuchen, mit dark.exe das MSI in WXS-Dateien zu dekompilieren. Es behält möglicherweise alle Bedingungen für die Aktivierung der Features bei und führt alle Feature-Komponentenzuordnungen für Sie aus. –

Antwort

1

Sie könnten Ihre Terminologie falsch haben. Die Liste der zu installierenden optionalen Teile befindet sich bei den meisten Standardinstallationen in der Feature-Tabelle. Komponenten sind meist einzelne Dateien, die in Features gebündelt sind.

Die Feature-Tabelle hat die Baumansicht - siehe Spalten Feature und Feature_Parent - und Titel und Beschreibung sind der Anzeigename und die Beschreibung der Funktion.

+0

Spot auf. Als ich jedes zusätzliche Modul in der Komponententabelle sah, nahm ich an, dass es das war, was ich wollte. –

Verwandte Themen