« 2017年8月 | トップページ | 2017年12月 »

2017年10月

2017年10月28日 (土)

Docker for Windowsをアップデート/再インストールできない件

今年の春の頃からだったろうか、 家のPCのDocker for Windowsがアップデートできなくなりました。

アップデートを開始すると、 「Do you want to replace your current version of Docker for Windows with this new one 17.09.0-ce-win33(13620)?」というダイアログが出ます。 ここで「はい」を押そうが「いいえ」を押そうが、 次の瞬間「install canceled」と出て先へ進めなくなります。

一回Docker for Windowsをアンインストールして、 最新バージョンのインストーラーで再インストールを試みても同じ結果。

そのうち直るだろうと思って放っていましたが、 一向に直らない。 で、まじめに調べてみました。

対処法

レジストリの以下のキーを削除してからアップデート/再インストールを行います。

HKCR\Installer\UpgradeCodes\9CA3F2E62DBFCA74DB9BD0384695C460

最後の"9CA3F2E62DBFCA74DB9BD0384695C460"の値は、 ひょっとすると環境によって異なるかもしれません。 アップグレードコードの役割からすると、同じ値の場合が多いと思いますが。 確実を期したければ、後述の詳細をみて、確認してください。

詳細

Dockerのコミュニティフォーラムの以下のトピックを参考にしました。

Cannot uninstall Docker for Windows

ここではアンインストール時の問題として取り上げられています。 このトピックは2016年1月に始まっていますが、 長らく進展していませんでした。 キーになるのは、一年半以上も後の投稿です。

2017年10月12日 3:06のdjarvis8さんの投稿

Process MonitorでDocker for Windowsのインストーラーをモニタし、 片っ端からチェックして"HKCR\Installer\UpgradeCodes"下のキーを読んでいるのが問題だと突き止めたらしい。 すげえ。

というわけで、 私もProcess Monitorで問題のレジストリキーを探して、 それを削除したところ、無事Docker for Windowsを再インストールできました。

問題のレジストリキーは同じだとは思いますが、 環境や現在インストールされているバージョンによっては異なる可能性があります。 確実を期すならばProcess Monitorでインストーラーが実際に読もうとしている"HKCR\Installer\UpgradeCodes"下のキーを確認するとよいでしょう。 結構めんどくさいけど。

« 2017年8月 | トップページ | 2017年12月 »