ちょっとハマったのでメモ。
Windows Server OSにClickOnceアプリをセットアップする際は、事前にレジストリの設定が必要。
経緯
これまで、Windows10で使用実績のあるClickOnceアプリを、WindowsServerにもインストールする事になった。
ところが、setup.exeを実行したタイミングで、以下のエラーが表示された。
セットアップ ログ ファイルを参照すると、このようなエラーが出力されていた。
URLDownloadToCacheFile failed with HRESULT '-2146697208'
Error: 'https://*****.****.jp/*****/************.application' をダウンロードしようとしてエラーが発生しました。
ログに記載の「 https://*****.****.jp/*****/************.application
」をブラウザで開いてみたら、正常にダウンロードできたので、何かの設定が足りてないらしい。
解決策
「URLDownloadToCacheFile failed
」で検索してみたが、発行先のURLが間違っている、などの指摘ばかり。
URLは開けるのでURLの問題ではない。
英語サイトまで広げて検索していたところ、以下のレジストリ設定で解決したとの報告あり。
どうやら、Server機はデフォルトでSSLキャッシュが無効になっているらしい。
レジストリ
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"DisableCachingOfSSLPages"=dword:00000000
レジストリを設定後、setup.exeを実行したらClickOnceアプリのインストールに進みました。
検証環境
- Windows Server 2016 Standard デスクトップエクスペリエンス
- Windows Server 2019 Standard デスクトップエクスペリエンス
- Windows Server 2019 Datacenter デスクトップエクスペリエンス
参考にしたページ