インストーラーを実行すると
“Do you want to replace your current version of Docker for Windows with this new one 17.09.0-ce-win33(13620)?”
のダイアログが出てきて、どう答えようがインストールに失敗してしまいます。
確かに昔インストールしてたけど、アンインストール済みで既に残っていないはず。
試しにコマンドラインでインストーラーを実行すると少し詳しくメッセージが出ます。
C:\> "Docker for Windows Installer.exe" [01:23:00.032] [InstallHandler] Not run as admin, relaunching with UAC prompt [01:23:02.803] [InstallHandler] No d4w installation found [01:23:02.803] [InstallHandler] Using embedded package [01:23:02.897] [InstallWorkflow] Using package: res:d4w [01:23:02.897] [InstallWorkflow] Downloadingerequisites [01:23:03.707] [InstallWorkflow] Exracting manifesttion found, prompting user [01:23:03.756] [InstallWorkflow] Checking prerequisites installation, with special flag [01:23:03.783] [InstallWorkflow] Msi based installation found, prompting user [01:23:05.548] [InstallWorkflow] Uninstalling msi based installation, with special flag [01:23:05.608] [InstallWorkflow] MSI Uninstall failed
参考になったのは以下2件の記事。
Cannot uninstall Docker for Windows
Docker doesn’t upgrade #1043
Process Monitorを使ってインストーラーがアクセスしているHKCR\Installer\UpgradeCodes以下のレジストリを確認したとのこと。
早速SysinternalSuiteのprocmon.exeを使って確認してみます。
FilterでPathにHKCR\Installer\UpgradeCodesを含むものを表示するよう設定。
Addするとこうなります。
インストーラーを実行するとレジストリが表示されます。
確認できたレジストリーキーを削除し、無事インストールできました。