我正在尝试运行该进程并等待它关闭。 当我像下面那样运行VSIXInstaller时,它可以工作:
$pathToTheExtension = $path + "VS2012.Ext.vsix"
VSIXInstaller.exe $pathToTheExtension
但是当我通过Start-Process VSIXInstaller运行它时,不会将$ pathToTheExtension作为参数。
$pathToTheExtension = $path + "VS2012.Ext.vsix"
$result = $(Start-Process -filePath "VSIXInstaller.exe" -argumentList $pathToTheExtension -Wait)
如何通过Start-Process将路径传递给vsix文件?
以下是运行Start-Process的结果。
修改
我从Process explorer检查正在运行的VSIXInstaller进程的命令行参数,这对我来说似乎是正确的。
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\VSIXInstaller.exe" "C:\VS2012.Ext.vsix"
答案 0 :(得分:4)
您需要用引号括起参数值。
$pathToTheExtension = '"{0}VS2012.Ext.vsix"' -f $path;
$result = Start-Process -FilePath "VSIXInstaller.exe" -ArgumentList $pathToTheExtension -Wait -PassThru;