无提示安装Java MSI

时间:2013-03-13 17:10:50

标签: java powershell windows-installer silent

有人可以解释为什么会有效:

$cred = Get-Credential
Start-Process -FilePath "msiexec.exe" -ArgumentList "/i `"C:\temp\jre1.7.0_17.msi`"" -Credential $cred -wait

但这不是:

$cred = Get-Credential
Start-Process -FilePath "msiexec.exe" -ArgumentList "/i `"C:\temp\jre1.7.0_17.msi`" ""`/qn REBOOT=ReallySuppress JAVAUPDATE=0 WEBSTARTICON=0 SYSTRAY=0`" ""/log c:\temp\javainst.log" -Credential $cred -wait

1 个答案:

答案 0 :(得分:0)

我首先要担心的是你逃避每个特殊角色的方式。如果做得好,它会正常工作,但这里似乎没必要。如果需要在字符串中包含双引号,则将参数打包在单引号中。

您可以尝试以下操作,看看它是否有帮助?

$cred = Get-Credential
Start-Process -FilePath "msiexec.exe" -ArgumentList '/i "C:\temp\jre1.7.0_17.msi" /qn REBOOT=ReallySuppress JAVAUPDATE=0 WEBSTARTICON=0 SYSTRAY=0 /log c:\temp\javainst.log' -Credential $cred -wait

另外,正如我在您之前非常相似的帖子中所评论的那样,您能解释为什么需要使用msiexec而不是java自己的exe设置吗?

编辑试试这个:

$cred = Get-Credential
Start-Process -FilePath "c:\temp\jre-7u17-windows-i586.exe" -ArgumentList '/S /L c:\temp\javainst.log REBOOT=ReallySuppress JAVAUPDATE=0 WEBSTARTICON=0 SYSTRAY=0' -Credential $cred -wait