【问题标题】:What means ReturnValue: 3 of win32_product install method什么意思 ReturnValue: 3 of win32_product install 方法
【发布时间】:2013-05-31 06:48:18
【问题描述】:

我正在使用 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

【问题讨论】:

  • 你能发布一些你的代码,以便我们看看你是怎么做的吗?
  • 你要安装什么msi包?
  • 我可以看到几个可能的问题。 C:\PJM7DeploymentFolder\Pjm7.msi 应该在机器本地(或通过 UNC)。 "True" 应该定义为布尔值 $true 而不是字符串。
  • “返回值 3”是操作失败时 MSI 日志中的常见消息。您应该启用日志记录 (support.microsoft.com/kb/223300/en-GB) 并检查安装程序日志。
  • 获得日志文件后,搜索“值 3”,错误原因通常在其上方几行。

标签: powershell installation windows-installer wmi


【解决方案1】:

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

YMMV

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-09
    • 2017-09-30
    • 1970-01-01
    • 2013-03-29
    • 2013-01-30
    • 1970-01-01
    • 2014-08-27
    • 2016-10-17
    相关资源
    最近更新 更多