Ich versuche, eine Anwendung (SalesLogix 7.2 Admin Tools and Server) aus einem MSI-Paket zu installieren, möchte jedoch nur eine bestimmte Funktion installieren. Wie kann ich den Funktionsnamen ermitteln, um den Parameter ADDLOCAL zu verwenden?
Ich versuche, eine Anwendung (SalesLogix 7.2 Admin Tools and Server) aus einem MSI-Paket zu installieren, möchte jedoch nur eine bestimmte Funktion installieren. Wie kann ich den Funktionsnamen ermitteln, um den Parameter ADDLOCAL zu verwenden?
Antworten:
Sie können das Installationsprogramm im ausführlichen Protokollierungsmodus ausführen
msiexec /i product.msi /l*v log.txt
Suchen Sie dann ADDLOCAL
im Protokoll nach Änderungen an der Eigenschaft. So können Sie mit der obigen Auswahl in der GUI bestimmen, welche Funktionen installiert sind.
Andernfalls können Sie Orca wie von jscott vorgeschlagen verwenden und das Paket selbst analysieren. Obwohl ich denke, dass die Verwendung eines ausführlichen Protokolls eine einfachere Lösung ist und Sie keine Funktion verpassen, die hinzugefügt werden muss ADDLOCAL
, um eine funktionierende Installation zu erhalten.
Holen Sie sich eine Kopie von Microsoftorca.exe
- es ist ein einfacher MSI-Editor. Es gibt andere Editoren, die dafür genauso gut funktionieren sollten. Öffnen Sie die MSI in Orca und überprüfen Sie die Feature
Tabelle. In dieser Tabelle werden alle verfügbaren Funktionssätze aufgelistet, sofern der Hersteller sie beim Verpacken des Installationsprogramms verwendet hat.
Am einfachsten ist es, den Anwendungsanbieter zu kontaktieren und herauszufinden, welche Befehlszeilenoptionen verwendet werden. Trotzdem entscheidet sich ein Anbieter manchmal dafür, diese Informationen nicht zur Verfügung zu stellen. In diesem Fall verwende ich gerne Process Monitor , um den Installationsprozess zu beobachten.
Die meisten Installationsprogramme arbeiten genauso. Sie laden eine einzelne Datei herunter und die Datei extrahiert alle tatsächlichen Installationsdateien in ein temporäres Verzeichnis. Da wir sehen müssen, wohin das Installationsprogramm extrahiert, verwenden Sie den Prozessmonitor, um das Installationsprogramm zu beobachten, sobald es gestartet wird. Fahren Sie nicht mit dem Installationsprogramm fort und beenden Sie es nicht. Wenn Sie eine der beiden Aktionen ausführen, werden die temporären Dateien gelöscht. Kopieren Sie alle extrahierten Dateien aus dem temporären Verzeichnis. Sie werden diese Dateien für Ihr benutzerdefiniertes Installationsprogramm verwenden. Nachdem Sie den bestimmten Prozess gefunden haben (im Prozessmonitor), filtern Sie alle anderen Prozesse heraus. Sie können den Vorgang dann beobachten, während Sie die Installationssequenz fortsetzen. Was Sie suchen, ist ein msiexec- Befehl, der die Installation für die von Ihnen angeforderte Funktion aufruft.
Dies kann ein zeitaufwändiger Prozess des Versuchs und Irrtums sein, aber ich hatte großen Erfolg beim Anpassen von Installationen von Anwendungen, bei denen Anbieter diese Informationen nicht bereitstellen ...
Sie können feststellen , dass das MSI - Installationsprogramm die unterstützt msiexec administrative Installation Option msiexec /a <yourpackage.msi>
. Dadurch wird das Installationsprogramm ausgeführt, aber anstatt das Paket tatsächlich zu installieren, wird ein Installationspunkt für die Software generiert, der mit den von Ihnen angegebenen Optionen angepasst wird. Anschließend können Sie die am angegebenen Installationspunkt erstellte MSI-Datei auf die Art und Weise bereitstellen, wie Sie normalerweise Ihre Software bereitstellen.
Dies hängt weitgehend davon ab, wofür der Anbieter Unterstützung bereitgestellt hat. Gemäß der Antwort von @ newmanth müssen Sie möglicherweise den Anbieter anrufen und sehen, welche Bereitstellungsoptionen er unterstützt.
ADDLOCAL=Common,Administrator,Architect