2012-08-15 90 views
2

我试图通过使用cmd文件从Powershell运行MSI安装命令。
创建我的install命令:无法安装[Name] MsiExec返回:255,从Powershell运行cmd文件

msiexec /i [insert here a HUGE amount of param values] /lv install.log /passive 

然后我把它写入temp.cmd,然后执行从Powershell的如下:

$exitCode = (Start-Process -FilePath "temp.cmd" -Wait -Passthru).ExitCode 

然后我收到以下错误信息:

CategoryInfo:OperationStopped:255:String
RuntimeException FullyQualifiedError编号
无法安装[微星名称] MSIEXEC返回:255

是什么原因造成的?

+1

这是不可能回答与问题msiexec perpsective如果你没有显示temp.cmd – 2012-08-15 13:17:30

+0

的内容谢谢!,实际的命令太长了,所以我添加了一个简短的版本来给我正在做的事情上下文。 – 2012-08-15 14:07:36

+1

我很好奇,为什么你会有一个非常长的命令。如果你设置了大量的公共属性,你应该考虑使用transform(foo.mst TRANSFORMS = foo.mst)来封装并缩短命令行。 – 2012-08-15 14:19:56

回答

2

如果您尝试运行我是有从命令行,我得到了以下错误消息的麻烦msiexec命令:

输入线过长

此错误ISN”在Powershell中执行时很明显,您可能会认为它是MsiExec的一个问题。

这是一个有点神秘的错误消息,并涉及其cmd.exe的8191的
总长度的命令行查看CMD长度Microsoft知识库文章:http://support.microsoft.com/kb/830473