0

PowerShell と WMI を使用してリモート マシンに msi パッケージをインストールしていますが、インストールしようとすると戻り値 3 が返されます。インストールの前にスクリプトがインストールされた製品をチェックし、存在する場合はアンインストールするため、奇妙なことです。アンインストールは正常に完了しています。

install メソッドの戻り値 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 に答える