Stille Installation eines MSI-Pakets

83

Ich habe ein MSI-Paket, das ich installieren muss, wenn das Paket noch nicht installiert ist. Außerdem muss ich es leise installieren. Das Paket fordert den Benutzer auf:

  • Installationsort (C: \ Programme \ Foobar)
  • Installationstyp: minimal und voll (minimal)

Ich muss diese beiden Parameter mithilfe von Befehlszeilenparametern oder einer anderen Methode überschreiben. Wie gehe ich bei diesen beiden Themen vor? Ich werde VBScript für die Skripterstellung verwenden.

Salman A.
quelle

Antworten:

126

Sie sollten in der Lage sein, die Optionen /quietoder /qnzu verwenden msiexec, um eine unbeaufsichtigte Installation durchzuführen.

MSI-Pakete exportieren öffentliche Eigenschaften, die Sie mit der PROPERTY=valueSyntax am Ende der msiexecParameter festlegen können .

Dieser Befehl installiert beispielsweise ein Paket ohne Benutzeroberfläche und ohne Neustart mit einem Protokoll und zwei Eigenschaften:

msiexec /i c:\path\to\package.msi /quiet /qn /norestart /log c:\path\to\install.log PROPERTY1=value1 PROPERTY2=value2

Sie können die Optionen für lesen, msiexecindem Sie sie einfach ohne Optionen unter Start -> Ausführen ausführen.

Polynom
quelle
6
Gibt es eine Möglichkeit, eine Liste akzeptabler Parameter zu finden ( PROPERTY1und PROPERTY2in Ihrem Beispiel)?
Salman A
Hier ist die vordefinierte Eigenschaftenliste: msdn.microsoft.com/en-us/library/windows/desktop/… Die Eigenschaft des Installationsordners ist für jedes Setup-Authoring-Tool unterschiedlich. Womit haben Sie das MSI erstellt?
Cosmin
@Cosmin: MSI besteht aus Laufzeit-DLLs eines Zahlungssystems (nicht von mir erstellt). Ich sehe mir ein Tool namens Ocra an, um das MSI zu zerlegen. Es gab mir einen Hinweis auf eine Variable namens "INSTALLLOCATION". Ich überprüfe.
Salman A
7
Hinweis: msiexec schien ziemlich wählerisch bei der Angabe des vollständigen Dateipfads zum MSI-Paket zu sein. Versuchen Sie nichts von diesem .\mypackage.msiGeschäft. Ich habe ein bisschen gebraucht, um das herauszufinden.
Phil
4
Der Name des MS-Produkts lautet eigentlich Orca, nicht ocra. Es könnte schwierig sein, mit Rechtschreibfehlern zu googeln. Möglicherweise erhalten Sie viele kreolische Rezepte ... aber keine MSI-Builder. msdn.microsoft.com/en-us/library/aa370557(v=vs.85).aspx
Scott Lundberg
12

Der richtige Weg, um ein MSI unbeaufsichtigt zu installieren, ist msiexec.exe command linewie folgt:

msiexec.exe /i c:\setup.msi /QN /L*V "C:\Temp\msilog.log"

Schnelle Erklärung:

 /L*V "C:\Temp\msilog.log"= verbose logging
 /QN = run completely silently
 /i = run install sequence 

Hier gibt es eine viel umfassendere Antwort: Batch-Skript zur Installation von MSI . Diese Antwort enthält Details zu den Befehlszeilenoptionen von msiexec.exe sowie eine Beschreibung, wie Sie die "öffentlichen Eigenschaften" finden , die Sie bei der Installation in der Befehlszeile festlegen können. Diese Eigenschaften sind im Allgemeinen für jedes MSI unterschiedlich.

Stein Åsmul
quelle