メモ
相変わらずあいまいですみません。
CUDA9.2とOpenCVの3.4のツリーの先週くらいのものの組み合わせで問題なさそうだったので、本番ビルド環境でもCUDA9.2に移行しようと思い、インストールをしたのですが、間違えてパッチを先にインストールしてしまってBaseをインストールしてもエラーになってしまいました。
9.1もおかしくなってしまったようなので再インストールを試みましたがこちらもエラーになってしまいます。
5時間ぐらいかけて試行錯誤して、何とかCUDA9.1の再インストールができました。
ということで、具体的にどうやったかといいますと
https://devtalk.nvidia.com/default/topic/1033111/cuda-setup-and-installation/cuda-9-1-cannot-install-due-to-failed-visual-studio-integration/
ここで書かれている通りにやってみました。
具体的に言いますと
まず、ディスプレイドライバーをMicroSoftの汎用ドライバーに変更し、再起動します。
次に https://www.revouninstaller.com/ からRevo Uninstaller 試用版をダウンロードしてインストールします。
アプリを立ち上げて、NVIDIAで検索して出てくるアプリをすべて削除します。ScanオプションはAdvancedを選ぶのが良いと思います。
これでアンインストールすると、アプリのアンインストールで削除しない、謎のファイルや、レジストリのエントリーも表示してくれます。
レジストリのエントリーや関係しているファイルもこのアプリから削除できます。
NVIDIAのものがすべて削除できましたら再起動します。
ただ、すべてのレジストリエントリーが表示されるわけではないようで、削除後にRegeditでNVIDIAで検索するといくつかエントリーは残ってしまっているようです。
再起動してProgram Files と Program Files(x86)にあるNVIDIA関連のフォルダを削除します。削除できないときはタスクマネージャを立ち上げ、NVIDIAのアイコンが表示されるプロセスがないか確認します。NVIDIA Container が残っている可能性があります。私の場合は残っていて最初はフォルダ削除できませんでした。プロセスが残っていたら終了させればフォルダは削除できるはずです。
この状態でCuda9.1をインストールを実行したところ、インストールすることができました。
インストールできない原因はドライバーが新しすぎるのと、バックグラウンドプロセスのせいではないかと思っています。
大変だったのでもう2度とやりたくない作業でした。
以上、よろしくお願いいたします。