我使用PowerShell和WMI在远程计算机上安装msi包,并在尝试安装时获得返回值3。这很奇怪,因为在安装之前我的脚本会检查已安装的产品,如果存在,则将其卸载。卸载成功完成。
我用google搜索安装方法的返回值3 - 但没有任何内容。
有人对此返回码有所了解吗?
感谢。
编辑:这是代码。
function InstallPJM([string]$packagePath, [string]$machineName)
{
Write-Host “Installing from $packagePath on $machineName”
#1
(Get-WMIObject -ComputerName $machineName -List | Where-Object -FilterScript {$_.Name -eq "Win32_Product"}).Install($packagePath)
#$product = [WMICLASS]“\\$machineName\ROOT\CIMV2:win32_Product”
#2
#$product.Install($packagePath, "", "True")
}
函数调用:
InstallPJM "C:\PJM7DeploymentFolder\Pjm7.msi" "MachineName"
我尝试了2种方式(编号的字符串):每种方式都给出了ReturnValue 3
答案 0 :(得分:0)
在我的情况下,ReturnValue = 3是因为我从PowerShell传递了一个相对路径到MSI。在Resolve-Path中进行包装使其正常工作。
YMMV