2012-07-16 39 views
2

我正在尝试运行该进程并等待其关闭。 当我运行VSIXInstaller喜欢它下面的工作:启动进程无法与VSIXInstaller.exe配合使用

$pathToTheExtension = $path + "VS2012.Ext.vsix" 
VSIXInstaller.exe $pathToTheExtension 

但是,当我从开始处理运行VSIXInstaller没有得到$ pathToTheExtension作为参数。

$pathToTheExtension = $path + "VS2012.Ext.vsix" 
$result = $(Start-Process -filePath "VSIXInstaller.exe" -argumentList $pathToTheExtension -Wait) 

我应该如何通过启动进程将路径传递给vsix文件?

以下是运行启动过程的结果。

enter image description here

编辑

我检查来自Process Explorer中运行VSIXInstaller进程的命令行参数,它对于我来说似乎是正确的。

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

回答

4

你需要用引号括住的参数值。

$pathToTheExtension = '"{0}VS2012.Ext.vsix"' -f $path; 
$result = Start-Process -FilePath "VSIXInstaller.exe" -ArgumentList $pathToTheExtension -Wait -PassThru; 
+0

不幸的是,它导致了相同的结果 – k0stya 2012-07-16 21:52:23

+0

$ path是否有尾部斜线?如果不是,则必须在文件路径和文件名之间添加一个(紧跟在{0}之后)。 – 2012-07-16 22:01:17

+0

$ path是有效的,因为我能够使用VSIXInstaller.exe运行它$ pathToTheExtension – k0stya 2012-07-16 22:02:34