mixiユーザー(id:2187825)

2015年02月12日21:07

3295 view

【トラブル】VMwareアップデート

昨年10月2日、公開されたばかりのWindows 10 Pro Technical Preview(以下、Win10TP) Build9841の仮想環境を作成した。
使用したのはVMware Player 6.0.3。
10月下旬にVMware Player 6.0.4が公開されたのでアップデートしたところ、失敗した。
簡単な調査はしたのだが、原因の解明には至らず。
が、アップデートに差し迫った理由もなく、6.0.3の動作には不都合がなかったので、放置していた。

時は浪費され、先日のこと。
Win10TP Build9926が公開された。
9860、9879と2つのBuildがその間に公開されていたが、興味が薄れていたので放置していた。
ところが、今回のBuildではシステムの表示言語に日本語が追加されたというので、アップデートすることにした。

が。

アップデート中に、ブルースクリーン発生。
それも仮想環境上ではなく、実環境で。

流石に実環境が死ぬのは耐えられない。
明らかにVMwareの問題なので、対応してみた。

まず単純にアプリのアンインストールを試行。
「MSI「」が失敗しました」という謎のメッセージボックスが出て失敗する。

小手先で対応できないか、とネットで情報を集め、いろいろと試してみたのだがどれもダメ。
結局、公式の案内に沿って手動でアンインストールすることにした。
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2080050

が。

公式の記述通りではダメだったので、ちょっと処置を追加した。
(自分の備忘用に作業内容を記載。読み飛ばして下さい。)
1.サービス停止
 ・VMware Authorization サービス
 ・VMware DHCP サービス
 ・VMware NAT サービス
 ・VMware USB Arbitration Service

2.ネットワークデバイス削除
 ・デバイスマネージャーからVMware で始まる名前のアダプタを2つ削除

3.ファイル・ディレクトリ削除
 公式に記載された通りに削除
 ・C:\Program File (X86)\VMware\
 ・C:\Users\username\AppData\Local\VMware\
 ・C:\Users\username\AppData\Roaming\VMware\
 ・C:\ProgramData\Microsoft\Windows\Start Menu\Programs\VMware\
 ・C:\Windows\system32\vmnetbridge.exe
 ・C:\Windows\system32\vnetinst.dll
 ・C:\Windows\system32\drivers\vmnet.sys
 ・C:\Windows\system32\drivers\vmx86.sys
 ・C:\Windows\system32\drivers\vmnetadapter.sys
 ・C:\Windows\system32\drivers\vmnetbridge.sys
 ・C:\Windows\system32\drivers\vmnetuserif.sys
 ・C:\Windows\system32\drivers\hcmon.sys

 公式の記載を64bit環境に読み替え、削除
 ・C:\Windows\SysWOW64\vmnat.exe
 ・C:\Windows\SysWOW64\vmnetdhcp.exe

 公式に記載はないが削除
 ・C:\Windows\system32\vnetlib64.dll
   公式に以下のファイルを削除と記載がされていたが存在せず、その64bit版と類推されたため。
   C:\Windows\system32\vnetlib.dll
   C:\Windows\system32\vnetlib.exe

 また以下ファイルについては、VMware作成のファイルだが、公式が削除対象としていないため残す。
 ・C:\Windows\system32\drivers\VMkbd.sys
 ・C:\Windows\system32\drivers\vmci.sys
 ・C:\Windows\system32\drivers\vsock.sys

4.レジストリ削除
 公式に記載された通りに削除
 ・HKEY_CLASSES_ROOT\Installer\Products\7A26F0EA2A1AF704F9C48439B99DDAD8
 ・HKEY_CLASSES_ROOT\Installer\Products\7A79579133DA8984D9E8376086814B46
 ・HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\UpgradeCodes\3F935F414A4C79542AD9C8D157A3CC39
 ・HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.

 公式の記載を64bit環境に読み替え、削除
 ・HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\VMware, Inc.

5.再起動

終了後、VMware Player 7.0.0のインストーラーを起動。
トラブルなくインストールを開始し、完了。
めでたしめでたし。






だったら良かったのだけど。

サポートツールであるVMware toolsを更新したら、失敗した。
エラーダイアログは、
フォト
などと、意味不明な供述をしており、原因は分からず。
仕方なく、レジストリを検索してアンインストールコマンドを取得し、実行。
フォト
さらに意味不明な供述をされた。
困り果て、レジストリを眺めていたら、InstallSourceにtmpディレクトリ配下が指定されているのを発見。
あー、このパターンかー。某作業でハマったよなー、とか思いつつ。

詳しい話は端折りつつ説明すると、WindowsではアプリのインストールにWindowsInstallerという仕組みを使う。
各アプリのインストーラーは、インストールするファイル群、インストール情報を格納したmsiファイル、等々を包含している。
インストーラーを実行すると、WindowsInstallerはmsiファイルを元に、インストール処理を実行する。
そしてこのmsiファイル。インストール時は勿論、アンインストールの時も同じmsiファイルが必要となる。
なので、システム内にmsiファイルを格納しており、先程のInstallSourceには、その場所が記録されている。

今回のようにそれがtmpディレクトリ配下の場合、行儀や頭の悪いアプリによってサックリ消されてしまい、アンインストールができなくなることがよくある。
調べてみると、予想通り、格納されてるはずのmsiファイルがない。
なので、やはり公式からインストール中バージョン(9.6.2)のインストーラーを取得。
http://softwareupdate.vmware.com/cds/vmw-desktop/player/6.0.3/1895310/windows/packages/
tarballを展開しインストーラーのexeを取得。
これを/eオプションでファイル展開してmsiファイルを取得。
InstallSourceで指定された場所にそのmsiファイルを格納。
アンインストールコマンドをコマンドラインから実行、、、しようとしたが、ふと思い至り、VMware Playerから更新処理を実行。
無事成功し、最新(9.9.0)に更新された。



で、当初の目的であったWin10TPを更新してみたのだが、肝心のLanguage packのインストールが何故か成功しない。
ふと、成功したとしても、これは日本語対応をした英語版であって、日本語版って訳じゃないんだよなぁ、とか思い至ってしまう。
結局、Win10TPのBuild9926の日本語版のisoファイルをダウンロードし、新規に仮想環境にインストール。
臭いものには蓋をしといて、最初からこうしておけばよかったのでは、とか思うが、まぁいいや。
1 2

コメント

mixiユーザー

ログインしてコメントを確認・投稿する