"VirtualInfrastructure.Utils.ClientsXml が例外をスローしました”の解決方法

ESXi5.xのVpxClientで"VirtualInfrastructure.Utils.ClientsXml' のタイプ初期化子が例外をスローしました。"とエラーが出る場合の対処方法について説明します。ネットで探すと4.1Updateするといいいよみたいな情報しか発見できませんでしたので書きます。解決策はVpxClient.exeを右クリックして、管理者としてこのプログラムを実行するにチェックを入れることです。

サーバのアップグレード

5.0だったので、5.5にアップグレードしました。アップグレードする際にはESXi 5.1(無償版)を5.5にバージョンアップする - まとめノート (exlair's note)を参考にしました。アップグレードは簡単で1時間ぐらいでおわりました。上記URLを参考にする場合の注意点としては下のようにアップグレードするプロファイルの指定が自分の予想と違っていた点です。

esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p [ESXi-5.5.0-1331820-standard]

の中に適用したいプロファイルの名前を書く

ただし、この場合には[]は不要なので以下のように入力します。

 esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-5.5.0-1331820-standard

MetadataDownloadErrorが出て、20分ぐらいデフォルトゲートウェイとかの設定を見なおしたりして悩みました。

クライアントのアップグレード

VMware vSphere Hypervisor の無償ダウンロードからVMware vSphere ClientVMware vSphere Client 5.5 Update 1をダウンロードしてインストールします。

クライアントの実行

クライアントを実行しても相変わらず"VirtualInfrastructure.Utils.ClientsXml' のタイプ初期化子が例外をスローしました"と出る場合にはログファイルを参照します。ログファイルは以下のディレクトリにあります。参考URL:VMware KB: vSphere Client does not open on any Windows operating systems with the error: parsing the server "" "clients.xml" file

私の場合には以下のログのようにレジストリにアクセスが拒否されていたみたいなので、VpxClient.exeを右クリックして、管理者としてこのプログラムを実行するにチェックを入れることにより解決しました。

[        :startup :W: 1] 2014-10-11 02:17:42.368  Log for vSphere Client Launcher, pid=3424, version=5.5.0, build=build-1618071, option=release
[        :Error   :W: 1] 2014-10-11 02:17:42.417  System.UnauthorizedAccessException: レジストリ キー 'HKEY_CLASSES_ROOT\VpxClient' へのアクセスが拒否されました。
   場所 Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)
   場所 Microsoft.Win32.RegistryKey.CreateSubKey(String subkey, RegistryKeyPermissionCheck permissionCheck, RegistrySecurity registrySecurity)
   場所 Microsoft.Win32.RegistryKey.CreateSubKey(String subkey)
   場所 VpxClient.Program.RegisterClientMimeExtension()
[        :Error   :M: 1] 2014-10-11 02:17:46.636  Error retrieving clients.xml
System.TypeInitializationException: 'VirtualInfrastructure.Utils.ClientsXml' のタイプ初期化子が例外をスローしました。
 System.TypeInitializationException: 'VirtualInfrastructure.Utils.TypedXmlSerializer`1' のタイプ初期化子が例外をスローしました。
   at VirtualInfrastructure.Utils.TypedXmlSerializer`1..ctor()
   at VirtualInfrastructure.Utils.ClientsXml..cctor()
 System.InvalidOperationException: 一時クラスを生成できません (result=1)。
error CS2001: ソース ファイル 'C:\WINDOWS\TEMP\7oluljzz.0.cs' が見つかりませんでした。
error CS2008: 入力が指定されていません。