0

我正在使用 powershell 和 WMI 在远程机器上安装 msi 包,并在尝试安装时获得返回值 3。这很奇怪,因为在安装之前我的脚本会检查已安装的产品,如果存在则将其卸载。卸载成功完成。

我搜索了安装方法的返回值 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

4

1 回答 1

0

在我的情况下 ReturnValue=3 是因为我从 PowerShell 传递了一个到 MSI 的相对路径。包装在 Resolve-Path 中使其工作。

YMMV

于 2013-08-08T04:07:13.777 回答