きっかけ
先日、新しくHDDを購入し、別ドライブにWindows Kits 10を再インストールする必要があったのですが、その時に躓き続けて一日無くしたのでその時の備忘録です。
※注意 - レジストリを変更するのでそれなりに危険です。もし実践する人は自己責任でお願いします。
マイ環境
Windows 10 Pro
手順
ざっくり起こったことと解決までの奮闘
起こったこと(読み飛ばしてok)
さっそくWindows Kitsをインストールしようとしたが、下図みたいな感じになってなんとインストールパスが変更できないではないか!
(出典:https://stackoverflow.com/questions/44801241/change-windows-kit-common-installation-path)
まあ、とりあえずこのディレクトリでもいいかと思い、インストールしようとすると途中でinvalid driveというエラーが出た。
なるほど、前回の設定が残っているんだなと思い、以前のHDDに付け替えてWindows Kits 10をアンインストールし、再度新しいHDDに戻してインストールし直した。しかし、エラー内容は変わらなかった…
なんだこれは...と思い、調べていたらWindows Kits 10はレジストリにインストールパスを保存していることを知った。
ここから恐らく正解の手順
修正方法
Windows Kits 10はレジストリにインストールパスを保存しているため、レジストリを変更する必要があるようだ。
ここからの手順は大まかにこうだ
- レジストリエディアを起動
- 目的のレジストリを探して値を変更
- Windows Kits 10を再度インストール
手順1
Windowsの検索バーにregeditと入力してレジストリエディタを起動する。
手順2
起動したら、上のバーに
コンピュータ\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows Kits\Installed Roots
を入力してエンター
すると大量の文字が表示されるが臆せず下までスクロールする。
一番下にKitsRoot10
という値があるのでそれをダブルクリックする。
そしたらダイアログが表示されるため、そこに目的のディレクトリのパスを書き込む。デフォルトだとこんな感じ
KitsRoot C:\Program Files (x86)\Windows Kits\8.0\
KitsRoot10 C:\Program Files (x86)\Windows Kits\10\
KitsRoot81 C:\Program Files (x86)\Windows Kits\8.1\
ここの値は環境によって恐らくことなり、KitsRootとかはあったりなかったりする。
私はWindows Kitsを以前インストールするときに別の場所を選択していたのか、KitsRoot10の値がC以外のドライブになっていた。
手順3
値を変更出来たらもう一度Windows 10 Kitsをインストールしてみる。
ちなみにインストーラはここからとってこれる。→https://developer.microsoft.com/ja-jp/windows/downloads/windows-10-sdk/
するとインストールパスがさっき指定したディレクトリに変化しているためそのままインストールしてしまいましょう!
完了!
お手元のVisual Studioとかで正常なプロジェクトを開いてエラーなくビルド出来たらOK!
おわりに
Pythonのpip installが通らないのが最初の症状だったのですが、まさかWindows Kits 10が原因だったとは...
これ以外にもCUDAの再設定とかも頑張ってたらあっという間に一日終わっちゃったよ...
何はともあれ治ってよかった
皆さんはドライブ変更するとき手動でファイル移動なんかせずに、クローンソフト使うなりして工夫して楽にやろうね!!!
参考
sdk - change windows kit common installation path - Stack Overflow : https://stackoverflow.com/questions/44801241/change-windows-kit-common-installation-path