2016-11-12 42 views
0

Ich versuche, eine MSI-Installer-Datei mit Powershell auszuführen. Im Folgenden finden Sie Code meiner Macht Shell: -Power Shell Aufruf eines MSI

$argumentlist = "/i D:\FolderTest\InstallerTest 1.9.0.39621 Setup.msi /qn /l*v D:\FolderTest\InstallLog.log" 

Start-Process -FilePath "C:\Windows\System32\msiexec.exe" -ArgumentList $argumentlist 

Jedes Mal, wenn ich versuche, diesen Code auszuführen, obwohl Windows Installer erscheint mir zu sagen, dass die Argumentvariablen korrekt gesetzt sind nicht. Kann mir jemand sagen, was das Problem mit diesem Code ist?

Antwort

1

Ich denke, dass Leerzeichen im MSI-Dateinamen sind, was verhindert, dass die msiexec ordnungsgemäß funktioniert. Versuchen Sie etwas wie:
$argumentlist = "/i 'D:\FolderTest\InstallerTest 1.9.0.39621 Setup.msi' /qn /l*v D:\FolderTest\InstallLog.log"

1

PowerShell ist eine Shell. Es wurde entwickelt, um Befehle auszuführen, die Sie eingeben. Sie müssen Start-Process nicht verwenden. Geben Sie einfach den Befehl ein und drücken Sie Enter.

PS C:\> msiexec /i "D:\FolderTest\InstallerTest 1.9.0.39621 Setup.msi" /qn /l*v "D:\FolderTest\InstallLog.log" 

Wie bei jedem Befehl, wenn ein Parameter Leerzeichen enthält, schließen Sie ihn in Anführungszeichen ein.

Verwandte Themen