2020年11月11日

Windows 7 SP1上のRAD Studio 10.4.1 SydneyでGetItパッケージマネージャがサーバに接続できないときの対処

RAD Studio/Delphi/C++Builder 10.4はWindows 7上での動作はサポートされていませんが、実際には概ね動作します(インストール時には警告されます)。しかし昨日リリースされた10.4.1のCompiler and LSP Hotfixを取り込もうとしてGetItパッケージマネージャを呼び出すと、接続エラーとなってしまいます。まず最初に疑うのはオフラインでインストールしたときにGetItがオフラインモードのままになっているという件ですが、今回はこれとは違うようです。そこでIDERAのコミュニティを見ると、同様の報告がいくつもあり、その中の

GetIT Package Manager 10.4 is not working?

でJohn C7598さんが、Windows 7で以前同じような問題がありMicrosoftのKB3140245

WinHTTP が Windows での既定のセキュリティで保護されたプロトコルとして TLS 1.1 および TLS 1.2 を有効にする更新プログラム

で解決した、とのことでした。そこでこれに従ってデフォルトのセキュアプロトコルとしてTLS 1.1/1.2を有効にしたところ、正常に接続できるようになったので、手順をまとめておきます。
  1. C:\Windows\System32にあるWinhttp.dllのバージョンが6.1.7601.23375以降であることを確認します(必要に応じて更新プログラムを適用)。
  2. レジストリキー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp (x86/x64) および HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp (x64のみ)にDWORD値 DefaultSecureProtocols を作成し、16進値A80(10進値2688)を設定する。
  3. レジストリキー HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client および HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client にDWORD値 DisabledByDefault を作成し、16進値0(10進値0)を設定する。

0 件のコメント: