Close

2015年7月5日

PowerShellにてUIAutomation.dllがインポートできない

Windows 7 SP1 64bitでUIAutomation.dllをipmoすると失敗したときのメモです。
気が付くと以下のエラーが出るようになってしまいました。

PS C:\> Import-Module C:\UIAutomation\UIAutomation.dll
Import-Module : ファイルまたはアセンブリ 'file:///C:\UIAutomation\UIAutomation.dll'、またはその依存関係の 1 つが読み込めませんでした。操作はサポートされません。 (HRESULT からの例外:0x80131515)
発生場所 行:1 文字:1
+ Import-Module C:\UIAutomation\UIAutomation.dll
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Import-Module], FileLoadException
+ FullyQualifiedErrorId : System.IO.FileLoadException,Microsoft.PowerShell.Commands.ImportModuleCommand

最終的に以下の対応で無事ipmoできるようになりました。

  1. PowerShellを4.0にアップデート
    Windows Management Framework 4.0をダウンロードしてインストール
  2. Microsoft .NET Frameworkを 4.5.1にアップデート
    勢い余ってVisual Studio Community 2013をインストールしました。.NET Frameworkだけを4.0にアップデートすればよかった。
    ここまででバージョンテーブルは以下の構成になりました。

    PS C:\> $PSVersionTableName Value
    ---- -----
    PSVersion 4.0
    WSManStackVersion 3.0
    SerializationVersion 1.1.0.1
    CLRVersion 4.0.30319.34209
    BuildVersion 6.3.9600.16406
    PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}
    PSRemotingProtocolVersion 2.2
    
  3. UI Automation PowerShell Extensions の.NET40版のダウンロード
    uiautomation.codeplex.comからUIAutomation 0.8.7 Beta 3 .NET40をダウンロードして展開。
    そしてUIAutomationの各ファイルのプロパティで「ブロックの解除」を有効にします。
  4. 150705-001

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA