如何指定ClickOnce使用的TLS版本?解决Windows 11部署失败问题
强制ClickOnce安装程序使用高版本TLS的解决办法
修改应用配置文件
在你的.NET应用的app.config(或ClickOnce部署清单)中添加TLS版本强制配置,指定使用TLS 1.2或1.3:<configuration> <system.net> <settings> <servicePointManager securityProtocol="Tls12, Tls13" /> </settings> </system.net> </configuration>添加后重新生成部署包并签名,确保配置随ClickOnce部署包下发到客户端。
调整Windows注册表设置
针对ClickOnce的后台进程(dfsvc.exe),通过注册表强制其使用高版本TLS:- 打开注册表编辑器,定位到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 - 新建DWORD值
SchUseStrongCrypto,设置值为1 - 如果是32位应用,同步在
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319下添加相同的DWORD值
这个设置会强制.NET Framework 4.x系列的应用(包括ClickOnce相关组件)优先使用TLS 1.2及以上版本。
- 打开注册表编辑器,定位到
更新.NET Framework到最新版本
确保Windows 11设备安装了最新的.NET Framework累积更新,新版本的.NET Framework默认会启用对TLS 1.2/1.3的支持,避免默认回退到TLS 1.0。验证服务器TLS兼容性
确认部署ClickOnce应用的服务器已启用TLS 1.2/1.3并禁用TLS 1.0,避免客户端用低版本TLS连接被服务器直接拒绝。
内容的提问来源于stack exchange,提问作者Richard
相关产品推荐
相关产品推荐

