2

我正在尝试运行该过程并等到它关闭。当我像下面那样运行 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 的结果。

在此处输入图像描述

编辑

我从进程资源管理器中检查了正在运行的 VSIXInstaller 进程的命令行参数,这对我来说似乎是正确的。

"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\VSIXInstaller.exe" "C:\VS2012.Ext.vsix"
4

1 回答 1

4

您需要用引号将参数值括起来。

$pathToTheExtension = '"{0}VS2012.Ext.vsix"' -f $path;
$result = Start-Process -FilePath "VSIXInstaller.exe" -ArgumentList $pathToTheExtension -Wait -PassThru;
于 2012-07-16T21:39:59.993 回答