2013-05-31 92 views
0

我正在使用powershell和WMI在遠程計算機上安裝msi軟件包,並在嘗試安裝時獲取返回值3。這很奇怪,因爲在安裝之前我的腳本會檢查已安裝的產品,如果它存在,請卸載它。卸載已成功完成。什麼意思ReturnValue:win32_product安裝方法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種方式(編號字符串):他們每個人給返回值3

+0

你能發表一些你的代碼,所以我們可以看到你是如何做到這一點? –

+0

你正在安裝什麼msi軟件包? –

+0

我可以看到幾個可能的問題。 C:\ PJM7DeploymentFolder \ Pjm7.msi應該是本地計算機(或通過UNC)。 「True」應該被定義爲boolean $ true而不是字符串。 –

回答

0

在我的情況下返回值= 3是因爲我通過一個相對路徑從PowerShell的MSI。包裝在Resolve-Path中使其起作用。

YMMV