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

/* 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. redHat linux 修改防火墙设置简略版

    1) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后失效 开启: service iptables sta ...

  2. backbone的一些认识

    body,td { font-family: 微软雅黑; font-size: 10pt } 官网:http://backbonejs.org/ 作者:Jeremy Ashkenas 杰里米·阿什肯纳 ...

  3. WARN: Establishing SSL connection without server's identity verification is not recommended

    0.要想用Java连接mysql数据库,首先装好JDK,配置好环境变量,将jdk*.*.*\lib放入classpath,将jdk*.*.*\bin放入path中(*.*.*表示版本号):其次安装好m ...

  4. Rest接口和Thymeleaf的两个坑

    spring boot thymeleaf 热部署 在使用spring boot 开发的时候,使用了Thymeleaf 作为前端的模板开发,发现在调试过程中,改动了Thymeleaf模板后,需要重新启 ...

  5. Spring Boot中使用Actuator的/info端点输出Git版本信息

    对于Spring Boot的Actuator模块相信大家已经不陌生了,尤其对于其中的/health./metrics等强大端点已经不陌生(如您还不了解Actuator模块,建议先阅读<Sprin ...

  6. java之集合Collection详解之3

    package cn.itcast_03; public class Student { // 成员变量 private String name; private int age; // 构造方法 p ...

  7. Android 深入理解Android中的自定义属性

    转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45022631: 本文出自:[张鸿洋的博客] 1.引言 对于自定义属性,大家肯定 ...

  8. python中RabbitMQ的使用(安装和简单教程)

    1,简介 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现的产品,RabbitMQ是一个消息代理,从"生产者"接收消息 ...

  9. ActiveJDBC 学习笔记

    官网: http://javalite.io/getting_started

  10. Python-分支循环- if elif for while

    分支与循环 条件是分支与循环中最为核心的点,解决的问题场景是不同的问题有不同的处理逻辑.当满足单个或者多个条件或者不满足条件进入分支和循环,这里也就说明这个对相同问题处理执行逻辑依据具体参数动态变化, ...