"0xc1800118"错误时使用 WSUS 推送 Windows 10 版本 1607

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 3194588
症状
请考虑以下情形:

  • 具有 Windows 服务器更新设备驱动程序列表) 配置您的环境中。
  • 在 WSUS 服务器上,安装 更新 3159706 若要启用 Windows 10 的新功能更新的解密。
  • 审核的功能更新的 Windows 版本 1607 10。
  • 您注意到 WSUS 客户端检测和下载功能更新到 C:\Windows\ccmcache,和 C:\Windows\SoftwareDistribution\DataStore 在正确填充文件。
在这种情况下,安装启动和文件然后解压缩到 C:\$Windows.~BT。 但是,该过程失败,并返回下列错误代码︰

0xC1800118

此外,Setup.err 和 Setup.cct 日志中可能会记录以下项︰

From Setup.err
<Date> <Time>, Error SP CSetupPlatform::ResurrectNewSystem: Cannot resurrect new system.: Win32Exception: \\?\C:\$Windows.~BT\Sources\NewSystem.dat: The system cannot find the file specified. [0x00000002] __cdecl UnBCL::FileStream::FileStream(const class UnBCL::String *,enum UnBCL::FileMode,enum UnBCL::FileAccess,enum UnBCL::FileShare,unsigned long)[gle=0x00000002]<Date> <Time>, Error CONX Windows::Compat::Appraiser::SetupAppraiser::StopEtlLogger (2884): Waiting on generaltel process failed: [258].[gle=0x00000102]<Date> <Time>, Error MOUPG RecoverCrypto: File is encrypted, but no key was provided.<Date> <Time>, Error MOUPG CDlpActionRecoverCrypto::DoCrypto(1713): Result = 0xC1800118<Date> <Time>, Error MOUPG CDlpActionRecoverCrypto::ExecuteRoutine(2465): Result = 0xC1800118<Date> <Time>, Error MOUPG CDlpActionImpl<class CDlpErrorImpl<class CDlpObjectInternalImpl<class CUnknownImpl<class IDlpAction> > > >::Execute(441): Result = 0xC1800118
From Setup.act
<Date> <Time>, Error MOUPG RecoverCrypto: File is encrypted, but no key was provided.<Date> <Time>, Error MOUPG CDlpActionRecoverCrypto::DoCrypto(1713): Result = 0xC1800118<Date> <Time>, Error MOUPG CDlpActionRecoverCrypto::ExecuteRoutine(2465): Result = 0xC1800118<Date> <Time>, Warning MOUPG CSetupDiagnostics::ReportData - Not reporting WINDLP data point [0x2101]<Date> <Time>, Warning MOUPG CSetupDiagnostics::ReportData - Not reporting WINDLP data point [0x2100]<Date> <Time>, Error MOUPG CDlpActionImpl<class CDlpErrorImpl<class CDlpObjectInternalImpl<class CUnknownImpl<class IDlpAction> > > >::Execute(441): Result = 0xC1800118<Date> <Time>, Info MOUPG RecoverCrypto: Leaving Execute Method<Date> <Time>, Error MOUPG CDlpTask::ExecuteAction(3243): Result = 0xC1800118
Error Details
Hex code - 0xc1800118Symbolic Name - WINDLP_E_RECOVERCRYPTO_WIM_DECRYPTKEY_MISSINGError Description - No key was provided to decrypt the specified WIM file
原因
如果 Windows 10 版本 1607年更新加密的但将显示为未加密 WSUS 数据库中,将出现此问题。如果更新的同步完成,然后再应用 KB3159706,可能会出现此问题。
替代方法
要变通解决此问题,请执行以下步骤︰

  1. 检测到 WSUS 是否处于错误的状态。若要执行此操作,请运行下面的查询︰

    选择 TotalResults = Count(*)
    从 tbFile
    其中 (进行加密 = 1 和 DecryptionKey 为空) 或 (如"%14393%.esd"和进行加密文件名 = 0)

    注意: 不正确的状态由"TotalResults > 0"结果。

  2. 按列出的次序,并在指定位置,WSUS 将处于错误的状态,如果执行以下操作︰

    1. 禁用"升级"分类 (USS 或独立 WSUS)
    2. 删除以前同步的升级 (所有 WSUS 的顶层的服务器上都启动)
    3. 启用"升级"分类 (USS 或独立 WSUS)
    4. 在 WSUS 数据库 (最顶层的服务器上启动所有 WSUS-) tbFile 表中删除的文件
    5. 执行完全同步 (USS 或独立 WSUS)

    注意:
    请确保您执行删除操作步骤首先是层次结构中最高的 WSUS 服务器上。然后,一路做下去。否则,在下一次同步尝试 USS 可能替代您的删除。

    若要执行此操作,请使用下面的脚本︰

    // disable Upgrades classification on local WSUS serverGet-WsusClassification | Where-Object -FilterScript {$_.Classification.Title -Eq “Upgrades”} | Set-WsusClassification -Disable// delete all update content on the current server belonging to the 1607 release$s = Get-WsusServer$1607Updates = $s.SearchUpdates(“version 1607”)$1607Updates | foreach { $_.Decline() }$1607Updates | foreach { $s.DeleteUpdate($_.Id.UpdateId) }// enable Upgrades classificationGet-WsusClassification | Where-Object -FilterScript {$_.Classification.Title -Eq “Upgrades”} | Set-WsusClassification// delete files from tbFile tabledeclare @NotNeededFiles table (FileDigest binary(20) UNIQUE);insert into @NotNeededFiles(FileDigest) (select FileDigest from tbFile where FileName like '%14393%.esd'  except select FileDigest from tbFileForRevision);deletefrom tbFileOnServer where FileDigest in (select FileDigest from @NotNeededFiles)delete from tbFile where FileDigest in (select FileDigest from @NotNeededFiles)// perform full sync$sub = $s.GetSubscription()$sub.StartSynchronization()


  3. 如果客户端扫描失败并返回 0xc1800118 错误消息,请在每个客户端上执行以下步骤︰

    1. 停止更新的 Windows 服务,并删除更新数据存储区。若要执行此操作,请从管理员命令提示符窗口中运行以下命令︰

      net stop wuauserv
      del %windir%\SoftwareDistribution\DataStore\*


    2. 再次检查更新。

属性

文章 ID:3194588 - 上次审阅时间:09/24/2016 01:04:00 - 修订版本: 1.0

  • kbmt KB3194588 KbMtzh
反馈