You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

KB5028849/KB5028166更新后ClickOnce setup.exe启动异常求助

ClickOnce部署报错“值不在预期范围内”(KB5028849/KB5028166相关)

针对你遇到的问题,除了已知的ClickOnce应用需重装的问题外,KB5028849和KB5028166更新还带来了以下几个可能触发该错误的已知问题:

  • 部署清单签名验证逻辑收紧:这两个更新强化了ClickOnce部署清单(.application文件)的签名校验规则。如果你的部署清单存在签名格式不兼容、文件哈希值不匹配,或者使用了不符合要求的自签名证书,部署流程中的清单校验环节会直接失败,抛出“值不在预期范围内”异常——而直接运行本地MyApp.exe会绕开这一步校验,所以能正常启动。
  • .deploy扩展名解析逻辑变更:更新后,ClickOnce部署服务对.deploy后缀文件的处理逻辑有调整。若发布时未正确勾选“使用.deploy扩展名”选项,或者部署服务器上的MIME类型配置未将.deploy映射为application/octet-stream,setup.exe无法正确识别并提取应用文件,进而触发错误。
  • 用户缓存目录权限冲突:更新后,ClickOnce存储应用缓存的目录(%LOCALAPPDATA%\Apps\2.0)权限被收紧。若该目录下存在旧版本的损坏缓存、残留配置文件,setup.exe在尝试写入或更新缓存时会触发权限相关的异常,导致部署失败。

对应的排查建议:

  • 重新生成并签署部署清单:使用Visual Studio重新发布应用,确保在发布向导的“签名”步骤中勾选“签名部署清单”,使用正规的代码签名证书(避免自签名证书),发布后验证.application文件的签名有效性。
  • 检查.deploy配置与服务器MIME类型:确认发布设置的“文件发布选项”中已勾选“使用.deploy扩展名”,同时登录部署服务器,将.deploy的MIME类型设置为application/octet-stream。
  • 清理ClickOnce缓存:运行命令 rundll32 dfshim CleanOnlineAppCache 清理全局缓存,手动删除%LOCALAPPDATA%\Apps\2.0下对应应用的缓存文件夹,再重新运行setup.exe尝试部署。

内容的提问来源于stack exchange,提问作者Dimitry Okken

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 07:15:06