2012-01-25 65 views

回答

1

我看你鏈接的示例腳本加載從GAC此DLL:

[System.reflection.Assembly]::LoadWithPartialName("Microsoft.BizTalk.ExplorerOM") 

我不熟悉這個組件,但如果它是預編譯的x86在GAC中,那麼你就需要使用32位PowerShell加載(在64位Windows系統上時)。在你的腳本,你可以做一個檢查,看看有什麼PowerShell進程位數是:

if ([IntPtr]::Size -eq 4) { # x86 } else { # x64 } 

如果你的腳本不正確的位數運行的有三件事我能想到的:

  1. 開始32正如你指出位後臺作業
  2. 重新推出採用32位PowerShell的(如果你的腳本有PARAMS不能很好地工作)你的腳本:

    if (-not $correctBitness) { 
        Start-Process "C:\WINDOWS\syswow64\windowspowershell\v1.0\powershell.exe" -ArgumentList "-file", $Invocation.MyCommand.Path 
        exit 
    } 
    
  3. 告訴用戶他們需要使用32位PowerShell重新啓動腳本並退出。
+0

這是否反應其實回答這個問題? – SteveC

+0

@SteveC你爲什麼認爲它不? –

相關問題