备注:该文档有另一个姊妹篇,介绍如何修复下游服务器一直有处于需要文件下载的状况。

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:等线;
mso-ascii-font-family:等线;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:等线;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:等线;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}

问题现象:

客户端是Win10 1803,希望通过WSUS更新服务器进行升级到目前最新的发行版Win10 1809,然而过程并不顺利,在阅读更新日志后,可以看到大量关于下载资源不正常的报错。

日志路径,"C:\Windows\SoftwareDistribution\ReportingEvents.log" 。

关于错误信息的摘要,红色的高亮信息是典型的文件下载异常(0x8024200)代码

  • {1F33AACA-5431-423D-9D5D-8385CD39AEB5}  2019-02-18 08:45:12:250+08001   181 [AGENT_INSTALLING_STARTED]   101{440669BC-73A4-43C4-80EF-61FCE01F88EE}  2010    UpdateOrchestratorSuccessContent Install   Installation Started: Windows has started installing the following update: 针对 Windows 10 功能更新 (企业版),版本 1809,zh-cn x64    lrAkKmIW60y+eJoM.1.1.6.1.1.0
  • l  {320D706D-8834-48A2-AE0B-CE33F5B73D81}  2019-02-18 08:45:35:100+08001   182 [AGENT_INSTALLING_FAILED]101{440669BC-73A4-43C4-80EF-61FCE01F88EE}  2018024200d    UpdateOrchestratorFailureContent Install   Installation Failure: Windows failed to install the following update with error 0x8024200d: 针对 Windows 10 功能更新 (企业版),版本 1809,zh-cn x64.  lrAkKmIW60y+eJoM.1.1.6.1.3.0
  • l  {0885A413-4565-4F2A-9666-EDF81FA1EC89}  2019-02-18 08:45:35:390+08001   181 [AGENT_INSTALLING_STARTED]   101{C30C062E-6905-42CD-839C-084B3D54EE61}  2000    UpdateOrchestratorSuccessContent Install   Installation Started: Windows has started installing the following update: 针对 Windows 10 功能更新 (企业版),版本 1809,zh-cn    lrAkKmIW60y+eJoM.1.2.6.1.1.0
  • l  {6A9966A2-0A32-4203-80DA-F6C6C177A835}  2019-02-18 08:45:53:813+08001   182 [AGENT_INSTALLING_FAILED]101{C30C062E-6905-42CD-839C-084B3D54EE61}  2008024200d    UpdateOrchestratorFailureContent Install   Installation Failure: Windows failed to install the following update with error 0x8024200d: 针对 Windows 10 功能更新 (企业版),版本 1809,zh-cn.  lrAkKmIW60y+eJoM.1.2.6.1.3.0

解决问题:

针对这种下载问题,首先需要确定这个文件是否存在于WSUS更新服务器上,但是如何知道是那个文件呢?

本例我使用 HTTPNetworkSniffer网络嗅探工具捕获关于HTTP协议的请求,工具运行在Win10 1803上,使用更新操作后没多久就抓到了404返回的错误信息。

 SEQ 图 \*
ARABIC 1在某个路径下的esd文件无法下载/Content/79/A4991F267F93943292DAD5C66EAA4796BD859279.esd

因为UserAgent是Microsoft-Delivery-Optimization/10.0 想排查一下是不是更新代理的问题,通过复制URL到浏览器中下载,依旧得到404的报错信息。

 SEQ 图 \*
ARABIC 2使用浏览器下载依旧报错404,此时的User Agent 已经是Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36

通过上述信息,可以明确更新服务器的设置出现了问题。

由于更新服务器是Win2012R2,这个版本的服务器IIS是8.5,默认并不支持这个叫做esd的文件扩展名,因此需要在IIS管理控制台中添加这个扩展名,用于支持该类型文件的下载动作。

 SEQ 图 \*
ARABIC 3缺少esd扩展名的IIS8.5

 SEQ 图 \*
ARABIC 4使用添加功能,增加一个esd文件扩展名,MIME类型使用application/vnd.ms-cab-compressed 即可

最后在Win10 1803 客户机上再次更新,顺利开始下载操作,问题得到解决。

 SEQ 图 \*
ARABIC 5使用嗅探工具了解到的esd文件下载情况,都已经是正常的200

问题总结:

1、由于esd属于新型文件扩展名,低于Win2016的系统是不存在于配置这个文件扩展名的,因此这个MIME类型是从Win2016的IIS10上复制出来的。

2、官方在Win2012R2的KB 3159706中有提到关于ESD文件解密的操作,其中需要安装众多补丁来支持,本例涉及到的服务器恰巧没有安装这些补丁,后续可以参考这个KB 进行修补,但强烈建议更新到WSUS10,也就是对应的Win2016版的系统。

3、这种问题在服务端不会存在任何错误(但是会记录),所有的错误展示都来自于客户端(更直观),因此收集客户端日志是必要的操作。

-=EOB=-

如何修复使用WSUS进行升级Win 10 更新1809的报错(0x8024200)的更多相关文章

  1. Windows 10 执行pip list报错 UnicodeDecodeError: 'gbk' codec can't decode

    在命令行执行任何pip命令都报错: C:\Users\hyang0>pip --version Traceback (most recent call last): File "c:\ ...

  2. Mac 升级后idea执行git命令报错xcrun: error: invalid active developer path的解决办法

    报错 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun ...

  3. centos7 升级php7 添加配置epel源 报错:Cannot retrieve metalink for repository: epel. Please verify its path and try again

    文章来自:循序渐渐linux:基础知识 一书 7.3章LAMP服务器搭建 日常故障 centos上好多软件升级需要配置epel源 其中有一点小插曲 需要手动更改 1.很多时候,对PHP环境要求较新的版 ...

  4. 解决升级Win 10 IP 10122后无法调试UAP应用的方法

    可能各位也像老周一样,第一时间升级了Build 10122,但不知道大家有没有发现,当你升级后,写一个UAP应用,要调试运行时,就会出错,错误如下: DEP0730 : 注册应用程序失败,因为目标计算 ...

  5. win 10应用商店下载应用错误码0x80070422

    Win10应用商店下载应用提示错误0x80070422怎么办? 一些安装了Win10系统的朋友们在使用过程中发现,在使用WIn8应用商店下载免费应用的时候,系统提示:错误0x80070422,这是怎么 ...

  6. 升级xcode10.0, 终端运行 运行报错:Print: Entry, “:CFBundleIdentifier”, Does Not Exist

    目录 问题原因 解决方法 终端解决 Print: Entry, ":CFBundleIdentifier", Does Not Exist 第一步: 去官网GitHub下载对应包就 ...

  7. Xcode8.0 / OS X EI Capitan 10.11.6 提交报错90111

    改用新系统和新版xcode(都是正式版)后,提交App Store审核时报错: INFO ITMS-90111: "Beta Toolchain. 构建新的 App 和App 更新时,必须使 ...

  8. 如何升级nodejs版本 安装n模块报错 npm ERR! notsup Unsupported platform

    如何升级nodejs版本 首先安装n模块, 输入npm install -g n n模块专门用来管理nodejs的版本. 如果出现npm ERR! notsup Unsupported platfor ...

  9. CentOS python升级到3.5时yum报错

    File except KeyboardInterrupt, e: ^ SyntaxError: invalid syntax 解决步骤: #vi /usr/bin/yum 将#!/usr/bin/p ...

随机推荐

  1. SpringBoot拦截器中Bean无法注入(转)

    问题 这两天遇到SpringBoot拦截器中Bean无法注入问题.下面介绍我的思考过程和解决过程: 1.由于其他bean在service,controller层注入一点问题也没有,开始根本没意识到Be ...

  2. Python基础之数据类型、变量、常量

    数据类型 整数:任意大小的整数,十六进制用0x前缀 浮点数:浮点数也就是小数,科学计数法1.23x109就是1.23e9,0.000012可以写成1.2e-5 字符串:以单引号'或双引号"括 ...

  3. InnoDB基本特性

    Ⅰ.double write 目的:保证数据写入的可靠性 小知识: 什么是partial write? 16k的page只写入了4k,6k,8k,12k就断掉了的情况 corrupt的page就是pa ...

  4. SourceTree安装跳过注册

    问题描述 SourceTree是一个可视化管理版本文件的工具,但是注册的时候需要打开外国的网站. 因此要安装时需要绕过这一步才能使用. 解决方案 1. 在下面路径下创建一个accounts.json文 ...

  5. Java中能否利用函数参数来返回值

    转自https://blog.csdn.net/da_da_xiong/article/details/70039532 我们在写代码时通常会遇到一种情况,就是我们可能希望在一个函数操作完成后返回两个 ...

  6. .net core使用Ocelot+Identity Server统一网关验证

    源码下载地址:下载 项目结构如下图: 在Identity Server授权中,实现IResourceOwnerPasswordValidator接口: public class IdentityVal ...

  7. BZOJ_1026_[SCOI2009]windy数_数位DP

    BZOJ_1026_[SCOI2009]windy数_数位DP 题意:windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道, 在A和B之 ...

  8. POJ_3342_Party at Hali-Bula_树形DP

    POJ_3342_Party at Hali-Bula_树形DP 题意:直接上司和本人不能同时参加,求最多参加人数,并回答是否唯一解. 分析:常规树形DP,需要再维护一下选/不选当前点取得最大值时是否 ...

  9. AbstractQueuedSynchronizer AQS框架源码剖析

    一.引子 Java.util.concurrent包都是Doug Lea写的,来混个眼熟 是的,就是他,提出了JSR166(Java Specification RequestsJava 规范提案), ...

  10. linux 搜索某个系统命令的位置

    Which命令 功能简述which命令的作用是在PATH变量指定的路径中搜索某个系统命令的位置并且返回第一个搜索结果.也就是说使用which命令就可以看到某个系统命令是否存在以及执行的到底是哪一个位置 ...