在我的powershell脚本中,我需要运行msiexec并传递一些参数来初始化它。问题是,如果参数包含空格字符“”,则powershell不会正确执行msiexec。例如命令:
msiexec /i .\Setup.msi ConnectionString="Initial Catalog=something;Integrated Security=True;Pooling=False"
参数ConnectionString包含空格,这导致msiexec未正确执行,我得到msiexec错误代码1639 - 无效的命令行参数。如果从连接字符串中删除空格,则会正确执行msiexec。
有人知道如何解决它吗?
答案 0 :(得分:3)
尝试这种方式:
Start-Process -FilePath msiexec -ArgumentList / /i, .\Setup.msi, "ConnectionString='Initial Catalog=something;Integrated Security=True;Pooling=False'" -Wait
答案 1 :(得分:0)
尝试单引号如下:
& msiexec.exe /i .\Setup.msi ConnectionString='"Initial Catalog=something;Integrated Security=True;Pooling=False"'