SetupDiag

适用范围

  • Windows 10

备注

这是一个 300 级主题, (中等高级) 。
有关本文中的完整主题列表,请参阅解决 Windows 10 升级错误

 下载 SetupDiag。

关于 SetupDiag

SetupDiag 的当前可下载版本:1.6.2107.27002。

始终确保运行最新版本的 SetupDiag,以便可以访问新功能和已知问题的修复。

SetupDiag 是一种诊断工具,可用于获取有关升级失败Windows 10的详细信息。

SetupDiag 通过检查安装程序Windows来工作。 它尝试分析这些日志文件,以确定无法更新计算机或将计算机升级到 Windows 10。 SetupDiag 可以在更新失败的计算机上运行,也可以将日志从计算机导出到另一个位置,以脱机模式运行 SetupDiag。

Windows 10 2004 及更高版本中的 SetupDiag

随着 2004 Windows 10版本 2004 的发布,SetupDiag Windows安装程序中

在升级过程中,Windows 安装程序会将其所有源文件提取到 %SystemDrive%$Windows.~bt\Sources 目录中。 通过Windows 10版本 2004 及更高版本 ,setupdiag.exe也安装到此目录中。 如果升级时遇到问题,SetupDiag 将自动运行以确定失败的原因。

当安装程序Windows时,将使用下列参数:

  • /ZipLogs:False
  • /Format:xml
  • /Output:%windir%\logs\SetupDiag\SetupDiagResults.xml
  • /RegPath:HKEY_LOCAL_MACHINE\SYSTEM\Setup\SetupDiag\Results

生成的 SetupDiag 分析位于 %WinDir%\Logs\SetupDiag\SetupDiagResults.xml 注册表中的 HKLM\SYSTEM\Setup\SetupDiag\Results 下。 请注意,当手动运行 SetupDiag 时,此路径与默认注册表路径不同。 手动运行 SetupDiag 时,如果未指定 /RegPath 参数,则数据存储在注册表中的 HKLM\SYSTEM\Setup\MoSetup\Volatile\SetupDiag 中。

重要

当 SetupDiag 指示存在多个故障时,日志文件失败通常是致命错误,而不是第一个错误。

如果升级过程正常进行,则源目录(**** 包括**** setupdiag.exe%SystemDrive%\Windows。 进行清理。 如果稍后Windows.old目录,setupdiag.exe删除。

使用 SetupDiag

在当前计算机上快速使用 SetupDiag:

  1. 验证您的系统是否满足 下面 所述的要求。 如果需要,请安装 .NET framework 4.6
  2. 下载 SetupDiag
  3. 如果 Web 浏览器询问对文件执行什么操作,请选择"保存 "。 默认情况下,该文件将保存到 "下载" 文件夹。 如果需要,还可使用"另存为"将其保存到 其他位置
  4. SetupDiag 完成下载后,打开下载文件的文件夹。 默认情况下,此文件夹是 "下载 "文件夹,显示在左侧导航窗格中" 快速 访问"下的"文件资源管理器"中。
  5. 双击 SetupDiag 文件以运行该文件。 如果 系统 要求你批准运行该程序,请单击"是"。
    • 双击文件以运行该文件将在 SetupDiag 完成其分析后自动关闭命令窗口。 如果希望此窗口保持打开状态,并查看您看到的消息,请运行程序,方法是在命令提示符下键入 SetupDiag, 而不是双击它。 你需要将目录更改为 SetupDiag 的位置,才能这样运行它。
  6. 当 SetupDiag 诊断计算机时,命令窗口将打开。 等待此过程完成。
  7. SetupDiag 完成后,将在您双击 SetupDiag 的同一文件夹中创建两个文件。 一种是配置文件,另一种是日志文件。
  8. 使用 记事本 打开日志文件:SetupDiagResults.log
  9. 查看显示的信息。 如果匹配规则,此信息可以告诉你计算机无法升级的原因,以及可能如何解决此问题。 请参阅 下面的文本日志 示例。

有关如何在脱机模式下以及使用更高级选项运行该工具的说明,请参阅下面的参数和示例部分

本主题底部的发行说明部分包含有关此工具最近更新的信息。

要求

  1. 目标操作系统必须Windows 10。

  2. .NET Framework安装 4.6。 如果您不确定当前安装了 .NET 的哪个版本,请参阅如何:确定.NET Framework安装的版本。 您还可以使用以下命令行查询来显示安装的 v4 版本:

    reg query "HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4" /s
    

参数

参数 说明
/?
  • 显示交互式帮助
/Output:<path to results file>
  • 此可选参数使您能够指定结果的输出文件。 此文件是您将找到 SetupDiag 能够确定的内容的位置。 仅支持文本格式输出。 如果 SetupDiag 运行的上下文有权访问 UNC 路径,UNC 路径将正常工作。 如果路径有空格,则必须使用双引号将整个路径括起来 (请参阅下面的示例部分) 。
  • 默认值:如果未指定,SetupDiag 将在运行安装程序的同一目录中创建SetupDiag.exe SetupDiagResults.log。
/LogsPath:<Path to logs>
  • 此可选参数SetupDiag.exe在何处查找用于脱机分析的日志文件。 这些日志文件可以是平面文件夹格式,也可以包含多个子目录。 SetupDiag 将递归搜索所有子目录。
/ZipLogs:<True | False>
  • 此可选参数SetupDiag.exe创建包含结果及其分析的所有日志文件的 zip 文件。 zip 文件是在运行 zip 文件的同一SetupDiag.exe创建的。
  • 默认值:如果未指定,则使用值"true"。
/Format:<xml | json>
  • 此可选参数可用于以 xml 或 JSON 格式输出日志文件。 如果未指定此参数,则默认使用文本格式。
/Scenario:[Recovery]
  • 此可选参数SetupDiag.exe查找并处理重置和恢复日志,并忽略安装/升级日志。
/Verbose
  • 此可选参数将输出更多的数据到日志文件。 默认情况下,SetupDiag 将仅针对严重日志文件生成一个报告条目。 使用 /Verbose 将导致 SetupDiag 始终生成另日志文件调试详细信息。 报告 SetupDiag 问题时,这些详细信息非常有用。
/NoTel
  • 此可选参数SetupDiag.exe向 Microsoft 发送诊断遥测。
/AddReg
  • 此可选参数SetupDiag.exe在脱机模式下向注册表添加故障信息。 默认情况下,SetupDiag 仅在联机模式下将失败信息添加到注册表。 注册表数据将添加到运行 SetupDiag 的系统的以下位置 :HKLM\SYSTEM\Setup\MoSetup\Volatile\SetupDiag
/RegPath
  • 此可选参数SetupDiag.exe指定路径向注册表中添加故障信息。 如果未指定此参数,则默认路径为 HKLM\SYSTEM\Setup\MoSetup\Volatile\SetupDiag
|

注意 :/Mode 参数在 SetupDiag 的版本 1.4.0.0 中已弃用。

  • 在以前的版本中,此命令与 LogsPath 参数一起用于指定 SetupDiag 应该以脱机方式运行,以分析从另一台计算机捕获的一组日志文件。 在版本 1.4.0.0 中,当您指定 /LogsPath 时,SetupDiag 将自动在脱机模式下运行,因此不需要 /Mode 参数。

示例:

在下面的示例中,SetupDiag 以默认参数 (联机模式运行,结果文件是 SetupDiagResults.log,其中 SetupDiag 在运行) 。

SetupDiag.exe

在下面的示例中,SetupDiag 在联机模式下运行 (此模式是默认) 。 它将知道在什么位置查找当前 (失败) 日志,因此无需提前收集日志。 指定结果的自定义位置。

SetupDiag.exe /Output:C:\SetupDiag\Results.log

以下示例使用 /Output 参数将结果保存到包含空格的路径名:

SetupDiag /Output:"C:\Tools\SetupDiag\SetupDiag Results\Results.log"

下面的示例指定 SetupDiag 以脱机模式运行,并处理 D:\Temp\Logs\LogSet1中的日志文件。

SetupDiag.exe /Output:C:\SetupDiag\Results.log /LogsPath:D:\Temp\Logs\LogSet1

以下示例设置脱机模式的恢复方案。 在示例中,SetupDiag 将在指定的 LogsPath 位置搜索重置/恢复日志,将结果输出到 /Output 参数指定的目录中。

SetupDiag.exe /Output:C:\SetupDiag\RecoveryResults.log /LogsPath:D:\Temp\Cabs\PBR_Log /Scenario:Recovery

以下示例设置联机模式下的恢复方案。 在示例中,SetupDiag 将在当前系统上搜索重置/恢复日志,并输出 XML 格式的结果。

SetupDiag.exe /Scenario:Recovery /Format:xml

日志文件

Windows安装程序日志文件和事件日志包含有关在安装期间创建日志Windows的信息。 对于脱机处理,应针对整个文件夹的内容运行 SetupDiag。 例如,根据升级失败时间,将下列文件夹之一复制到脱机位置:

\$Windows.~bt\sources\panther
\$Windows.~bt\Sources\Rollback
\Windows\Panther
\Windows\Panther\NewOS

如果复制父文件夹以及所有子文件夹,则 SetupDiag 将自动在所有子目录中搜索日志文件。

安装错误检查分析

当 Microsoft Windows遇到危及安全系统操作的条件时,系统将停止运行。 此条件称为 Bug 检查。 它通常也称为系统崩溃、内核错误、停止错误或 BSOD。 通常,硬件设备、硬件驱动程序或相关软件会导致此错误。

如果在系统上 启用了故障 转储,将创建故障转储文件。 如果在升级过程中发生 bug 检查,Windows安装程序将提取 setupmem.dmp (小型转储) 文件。 SetupDiag 还可以调试这些与安装程序相关的小型dumps。

若要调试与设置相关的 Bug 检查,你必须:

  • 指定 /LogsPath 参数。 无法在联机模式下调试内存转储。
  • 从出现故障的系统收集 setupmem.dmp (setupmem.dmp) 安装程序内存转储文件。
    • Setupmem.dmp 将在 %SystemDrive%$Windows.~bt\Sources\Rollback%WinDir%\Panther\NewOS\Rollback中创建,具体取决于错误检查发生的时间。
  • Windows安装调试工具。

在下面的示例中 ,setupmem.dmp文件复制到D:\Dump目录,并安装 Windows 调试工具,然后运行 SetupDiag:

SetupDiag.exe /Output:C:\SetupDiag\Dumpdebug.log /LogsPath:D:\Dump

已知问题

  1. 如果涉及的日志文件很大,某些规则可能需要很长时间才能处理。

示例输出

以下命令是在脱机模式下运行 SetupDiag 的示例。

D:\SetupDiag>SetupDiag.exe /output:c:\setupdiag\result.xml /logspath:D:\Tests\Logs\f55be736-beed-4b9b-aedf-c133536c946e /format:xml

SetupDiag v1.6.0.0
Copyright (c) Microsoft Corporation. All rights reserved.

Searching for setup logs...
Found d:\tests\Logs\f55be736-beed-4b9b-aedf-c133536c946e\setupact_6.log with update date 6/12/2019 2:44:20 PM to be the correct setup log.
Found d:\tests\Logs\f55be736-beed-4b9b-aedf-c133536c946e\setupact_1.log with update date 6/12/2019 2:45:19 PM to be the correct rollback log.

Gathering baseline information from setup logs...

SetupDiag: processing rule: CompatScanOnly.
...No match.

...

SetupDiag: processing rule: DISMImageSessionFailure.
..
Error: SetupDiag reports DISM provider failure.
Last Phase: Safe OS
Last Operation: Apply Optional Component status
Message = Failed to get the IDismImage instance from the image session
Function: CDISMManager::CloseImageSession
Error: 0x800706ba
Recommend you re-download the update source files, reboot and try the update again.

SetupDiag found 1 matching issue.

SetupDiag results were logged to: c:\setupdiag\results.xml
Logs ZipFile created at: c:\setupdiag\Logs_14.zip

规则

搜索日志文件时,SetupDiag 使用一组规则来比对已知问题。 这些规则包含在运行 SetupDiag rules.xml提取的配置文件中。 当rules.xml新版本的 SetupDiag 时,可能会更新该更新文件。 有关详细信息 ,请参阅 发行说明部分。

列出每个规则名称及其关联的唯一规则标识符,并说明已知的升级阻止问题。 在规则说明中,术语"下层"是指升级过程的第一个阶段,升级过程在起始操作系统下运行。

  1. CompatScanOnly - FFDAFD37-DB75-498A-A893-472D49A1311D
    • 此规则指示setup.exe调用了特定命令行参数,指示安装程序仅执行 compat 扫描,而不是升级。
  2. BitLockerHardblock - C30152E2-938E-44B8-915B-D1181BA635AE
    • 当目标操作系统不支持 BitLocker,但主机操作系统已启用 BitLocker 时,这是升级块。
  3. VHDHardblock - D9ED1B82-4ED8-4DFD-8EC0-BE69048978CC
    • 当主机操作系统启动到 VHD 映像时,将发生此阻止。 当主机操作系统从 VHD 映像启动时,不支持升级。
  4. PortableWorkspaceHardblock - 5B0D3AB4-212A-4CE4-BDB9-37CA404BB280
    • 这表示主机操作系统从使用 U 盘或 U 盘Windows To-Go (启动) 。 在升级环境中不支持Windows To-Go升级。
  5. AuditModeHardblock - A03BD71B-487B-4ACA-83A0-735B0F3F1A90
    • 此块指示主机操作系统当前已启动到审核模式,审核模式是一种用于修改Windows模式。 不支持从此状态升级。
  6. SafeModeHardblock - 404D9523-B7A8-4203-90AF-5FBB05B6579B
    • 此块指示主机操作系统已启动到保险箱模式(不支持升级)。
  7. InsufficientSystemPartitionDiskSpaceHardblock - 3789FBF8-E177-437D-B1E3-D38B4C4269D1
    • 当安装程序确定系统分区 (其中存储启动加载程序文件时,将遇到此块) 该分区没有足够的空间来使用升级过程中所需的较新的启动文件提供服务。
  8. CompatBlockedApplicationAutoUninstall – BEBA5BC6-6150-413E-8ACE-5E1EC8D34DD5
    • 此规则指示有一个应用程序需要卸载才能继续安装。
  9. CompatBlockedApplicationDismissable - EA52620B-E6A0-4BBC-882E-0686605736D9
    • 在 /quiet 模式下运行安装程序时,除非命令行还指定了"/compat ignorewarning",否则有一些可关闭的应用程序消息将变为阻止。 此规则指示安装程序是在 /quiet 模式下执行的,但存在阻止安装程序继续的应用程序可消除的阻止消息。
  10. CompatBlockedApplicationManualUninstall - 9E912E5F-25A5-4FC0-BEC1-CA0EA5432FF4
    • 此规则指示系统中存在没有"添加/删除程序"条目的应用程序,并阻止安装程序继续。 这通常需要手动删除与此应用程序关联的文件,以继续。
  11. HardblockDeviceOrDriver - ED3AEFA1-F3E2-4F33-8A21-184ADF215B1B
    • 此错误指示在主机操作系统上加载的设备驱动程序与较新的操作系统版本不兼容,需要在升级之前删除。
  12. HardblockMismatchedLanguage - 60BA8449-CF23-4D92-A108-D6FCEFB95B45
    • 此规则指示主机操作系统和目标操作系统语言版本不匹配。
  13. HardblockFlightSigning - 598F2802-3E7F-4697-BD18-7A6371C8B2F8
    • 此规则指示目标操作系统是预览体验成员Windows预发布版本,并且目标计算机已启用安全启动。 如果计算机上已安装,这将阻止预发布签名版本启动。
  14. DiskSpaceBlockInDownLevel - 6080AFAC-892E-4903-94EA-7A17E69E549E
    • 此失败指示在升级的低级别操作期间系统磁盘空间不足。
  15. DiskSpaceFailure - 981DCBA5-B8D0-4BA7-A8AB-4030F7A10191
    • 此失败指示在首次重新启动到升级后,系统驱动器的可用磁盘空间不足。
  16. DeviceInstallHang - 37BB1C3A-4D79-40E8-A556-FDA126D40BC6
    • 此失败规则指示在升级的设备安装阶段检查系统挂起或 Bug。
  17. DebugSetupMemoryDump - C7C63D8A-C5F6-4255-8031-74597773C3C6
    • 此仅脱机规则指示在安装期间发生了 Bug 检查。 如果调试器工具在系统中可用,则 SetupDiag 将调试内存转储并提供详细信息。
  18. DebugSetupCrash - CEEBA202-6F04-4BC3-84B8-7B99AED924B1
    • 此脱机规则指示安装程序本身遇到了导致进程内存转储的故障。 如果系统安装了调试器工具,则 SetupDiag 将调试内存转储并给出更多详细信息。
  19. DebugMemoryDump - 505ED489-329A-43F5-B467-FCAAF6A1264C
    • 此脱机规则仅适用于在设置/升级操作期间产生的任何 memory.dmp 文件。 如果系统安装了调试器工具,则 SetupDiag 将调试内存转储并给出更多详细信息。
  20. BootFailureDetected - 4FB446C2-D4EC-40B4-97E2-67EB19D1CFB7
    • 此规则指示在更新的特定阶段发生启动失败。 该规则将指示用于诊断的失败代码和阶段。
  21. FindDebugInfoFromRollbackLog - 9600EB68-1120-4A87-9FE9-3A4A70ACFC37
    • 此规则将确定并详细说明在安装/升级过程中发生错误检查(导致内存转储)的时间,但不要求执行计算机上使用调试程序包。
  22. AdvancedInstallerFailed - 77D36C96-32BE-42A2-BB9C-AAFFE64FCADC
    • 查找导致安装失败的致命高级安装程序操作。
  23. FindMigApplyUnitFailure - A4232E11-4043-4A37-9BF4-5901C46FD781
    • 检测导致更新失败的迁移单元故障。 此规则将输出迁移插件的名称,以及出于诊断目的生成的错误代码。
  24. FindMigGatherUnitFailure - D04C064B-CD77-4E64-96D6-D26F30B4EE29
    • 检测导致更新失败的迁移收集单元故障。 此规则将输出收集单元/插件的名称,以及出于诊断目的生成的错误代码。
  25. CriticalSafeOSDUFailure - 73566DF2-CA26-4073-B34C-C9BC70DBF043
    • 此规则指示使用关键动态更新更新 SafeOS 映像时发生故障。 它将指示尝试更新 SafeOS 映像以用于诊断时发生的阶段和错误代码。
  26. UserProfileCreationFailureDuringOnlineApply - 678117CE-F6A9-40C5-BC9F-A22575C78B14
    • 指示在更新的联机应用阶段创建或修改用户配置文件时发生严重失败。 它将指示出于诊断目的与失败关联的操作和错误代码。
  27. WimMountFailure - BE6DF2F1-19A6-48C6-AEF8-D3B0CE3D4549
    • 此规则指示更新未能装入 wim 文件。 它将显示 wim 文件的名称,以及与诊断失败相关联的错误消息和错误代码。
  28. FindSuccessfulUpgrade - 8A0824C8-A56D-4C55-95A0-22751AB62F3E
    • 确定给定设置是否成功,是否基于日志。
  29. FindSetupHostReportedFailure - 6253C04F-2E4E-4F7A-B88E-95A69702F7EC
    • 提供有关升级过程早期由用户显示setuphost.exe
  30. FindDownlevelFailure - 716334B7-F46A-4BAA-94F2-3E31BC9EFA55
    • 提供 SetupPlatform(稍后在下层阶段)显示失败信息。
  31. FindAbruptDownlevelFailure - 55882B1A-DA3E-408A-9076-23B22A0472BD
    • 当系统在低级别出现故障,但日志突然结束时,提供最后一次操作失败信息。
  32. FindSetupPlatformFailedOperationInfo - 307A0133-F06B-4B75-AEA8-116C3B53C2D1
    • 当 SetupPlatform 指示严重故障时,提供最后阶段和错误信息。 此规则将指示出于诊断目的与失败关联的操作和错误。
  33. FindRollbackFailure - 3A43C9B5-05B3-4F7C-A955-88F991BB5A48
    • 提供回滚时的最后操作、失败阶段和错误信息。
  34. AdvancedInstallerGenericFailure – 4019550D-4CAA-45B0-A222-349C48E86F71
    • 匹配 AdvancedInstaller 读/写失败(一般意义上)的规则。 将输出所调用的可执行文件以及报告的错误代码和退出代码。
  35. OptionalComponentFailedToGetOCsFromPackage – D012E2A2-99D8-4A8C-BBB2-088B92083D78 (注意:此规则替换 v1.10 中的 OptionalComponentInstallFailure 规则。
    • 这与尝试枚举包中的组件时的特定可选组件失败匹配。 将输出程序包名称和错误代码。
  36. OptionalComponentOpenPackageFailed – 22952520-EC89-4FBD-94E0-B67DF88347F6
    • 与尝试打开 OC 包时的特定可选组件失败匹配。 将输出程序包名称和错误代码。
  37. OptionalComponentInitCBSSessionFailed – 63340812-9252-45F3-A0F2-B2A4CA5E9317
    • 与高级安装程序服务或组件未在系统上运行或启动的特定故障匹配。 将输出错误代码。
  38. UserProfileCreationFailureDuringFinalize – C6677BA6-2E53-4A88-B528-336D15ED1A64
    • 在设置的完成阶段匹配特定的用户配置文件创建错误。 将输出失败代码。
  39. WimApplyExtractFailure – 746879E9-C9C5-488C-8D4B-0C811FF3A9A8
    • 在设置的 wim 提取阶段匹配 wim 应用失败。 将输出扩展名、路径和错误代码。
  40. UpdateAgentExpanderFailure – 66E496B3-7D19-47FA-B19B-4040B9FD17E2
    • 匹配 WU 更新的下层阶段中的 DPX 扩展器故障。 将输出程序包名称、函数、表达式和错误代码。
  41. FindFatalPluginFailure – E48E3F1C-26F6-4AFB-859B-BF637DA49636
    • 匹配 setupplatform 确定的任何插件故障对安装程序是致命故障。 将输出插件名称、操作和错误代码。
  42. AdvancedInstallerFailed - 77D36C96-32BE-42A2-BB9C-AAFFE64FCADC
    • 指示 AdvancedInstaller 在运行安装程序程序包时出现严重故障,包括.exe、阶段、模式、组件和错误代码。
  43. MigrationAbortedDueToPluginFailure - D07A24F6-5B25-474E-B516-A730085940C9
    • 指示导致安装程序中止迁移的迁移插件中的严重故障。 将提供安装操作、插件名称、插件操作和错误代码。
  44. DISMAddPackageFailed - 6196FF5B-E69E-4117-9EC6-9C1EAB20A3B9
    • 指示 DISM 添加程序包操作期间出现严重故障。 将指定程序包名称、DISM 错误并添加程序包错误代码。
  45. PlugInComplianceBlock - D912150B-1302-4860-91B5-527907D08960
    • 检测服务器合规性插件的所有 compat 块。 输出块信息和修正。
  46. AdvancedInstallerGenericFailure - 4019550D-4CAA-45B0-A222-349C48E86F71
    • 在通用意义上,在高级安装程序失败时触发,输出名为、阶段、模式、组件和错误代码的应用程序。
  47. FindMigGatherApplyFailure - A9964E6C-A2A8-45FF-B6B5-25E0BD71428E
    • 当迁移引擎在收集或应用操作中失败时显示错误。 指示迁移对象 (或注册表路径) 迁移
  48. OptionalComponentFailedToGetOCsFromPackage - D012E2A2-99D8-4A8C-BBB2-088B92083D78
    • 指示 OC (迁移) 枚举 OC 包中的可选组件失败。 输出程序包名称和错误代码。
  49. OptionalComponentOpenPackageFailed - 22952520-EC89-4FBD-94E0-B67DF88347F6
    • 指示可选组件迁移操作未能打开可选组件包。 输出程序包名称和错误代码。
  50. OptionalComponentInitCBSSessionFailed - 63340812-9252-45F3-A0F2-B2A4CA5E9317
    • 指示低级别系统上的服务堆栈损坏。 输出尝试初始化现有操作系统上的服务组件时遇到的错误代码。
  51. DISMproviderFailure - D76EF86F-B3F8-433F-9EBF-B4411F8141F4
    • 当 DISM 提供程序 (插件) 操作失败时触发。 输出提供程序 (插件) 、名为 + 错误代码的函数和错误消息。
  52. SysPrepLaunchModuleFailure - 7905655C-F295-45F7-8873-81D6F9149BFD
    • 指示 sysPrep 插件在关键操作中失败。 指示插件名称、操作名称和错误代码。
  53. UserProvidedDriverInjectionFailure - 2247C48A-7EE3-4037-AFAB-95B92DE1D980
    • 通过命令行输入 (安装程序的驱动程序) 以某种方式失败。 输出驱动程序安装函数和错误代码。
  54. PlugInComplianceBlock - D912150B-1302-4860-91B5-527907D08960
    • 它们仅适用于服务器升级,将输出合规性块和所需的修正。
  55. PreReleaseWimMountDriverFound - 31EC76CC-27EC-4ADC-9869-66AABEDB56F0
    • 捕获由于在系统中注册了无法识别wimmount.sys驱动程序而失败。
  56. WinSetupBootFilterFailure - C073BFC8-5810-4E19-B53B-4280B79E096C
    • 检测内核模式文件操作中的故障。
  57. WimMountDriverIssue - 565B60DD-5403-4797-AE3E-BC5CB972FBAE
    • 检测系统中WimMount.sys注册失败。
  58. DISMImageSessionFailure - 61B7886B-10CD-4C98-A299-B987CB24A11C
    • 当 DISM 未能成功启动映像会话时捕获失败信息。
  59. FindEarlyDownlevelError - A4CE4FC9-5E10-4BB1-8ECE-3B29EB9D7C52
    • 在调用安装平台之前,检测下层阶段中的故障。
  60. FindSPFatalError - A4028172-1B09-48F8-AD3B-86CDD7D55852
    • 在设置平台遇到致命错误时捕获故障信息。
  61. UserProfileSuffixMismatch - B4BBCCCE-F99D-43EB-9090-078213397FD8
    • 检测文件或其他对象在更新过程中导致用户配置文件的迁移或创建失败时。

发行说明

07/27/2021 - SetupDiag v1.6.2107.27002 作为下载中心中提供的独立工具与 61 个规则一起发布。

  • 此版本包含合规性更新和次要 Bug 修复。
  • 对于此版本和后续版本,可下载的 SetupDiag 工具的版本号不同于安装程序Windows版本号。

05/06/2021 - SetupDiag v1.6.1.0 随 61 规则一起发布,作为下载中心提供的独立工具。

  • 此版本的 SetupDiag 包含在 Windows 10 21H1 中。
  • 添加了一个新规则:UserProfileSuffixMismatch。
  • 对于时间/日期格式,命令行的所有输出现在都是固定区域性
  • 修复了注册表输出中"未找到匹配项"结果导致损坏的REG_SZ问题。

08/08/2019 - SetupDiag v1.6.0.42 作为下载中心提供的独立工具与 60 个规则一起发布。

  • 日志检测性能已提高。 过去最多需要一分钟的时间应该大约需要 10 秒或更少。
  • 向结果日志和注册表信息添加了安装程序操作和安装阶段信息。
    • 这是发生故障时安装程序的最后一个操作和阶段。
  • 添加了详细的安装程序操作和安装阶段信息 (/verbose 时) 输出日志的时间和时间。
    • 请注意,如果发现的问题是一个 compat 块,则尚不存在安装程序操作或阶段信息,因此将不可用。
  • 向注册表输出添加了更多信息。
    • 详细的"FailureData"信息(如果可用)。 示例:"AppName = MyBlockedApplication"或"DiskSpace = 6603" (MB)
      • 特定于所发现故障的"Key = 值"数据。
    • 添加了"UpgradeStartTime"、UpgradeEndTime 和"UpgradeElapsedTime"
    • 添加了"SetupDiagVersion"和"DateTime" (以指示在系统) 、"TargetOSVersion"、"HostOSVersion"等上执行 SetupDiag 的时间。

06/19/2019 - SetupDiag v1.5.0.0 作为下载中心提供的独立工具与 60 个规则一起发布。

  • 所有日期和时间输出将更新为每个用户请求的本地化格式。
  • 向 /verbose 日志添加了 setup Operation 和 Phase 信息。
  • 向大多数规则添加了最后一次安装操作和最后一次安装阶段信息,其中 (查看下面的新输出) 。
  • 搜索 setupact.logs 以确定要分析的正确日志的性能改进。
  • 向文本报告添加了 SetupDiag (xml 和 json 始终包含) 。
  • 为每个用户请求的 xml 和 json 添加了"无匹配"报告。
  • 格式化的 Json 输出,方便易读。
  • 搜索安装日志时的性能改进;现在,这应该会快得多。
  • 添加了 7 个新规则:PlugInComplianceBlock、PreReleaseWimMountDriverFound、WinSetupBootFilterFailure、WimMountDriverIssue、DISMImageSessionFailure、FindEarlyDownlevelError 和 FindSPFatalError。 有关详细信息 请参阅上面的规则部分。
  • 诊断信息现在输出到注册表中的 HKLM\SYSTEM\Setup\MoSetup\Volatile\SetupDiag
    • 添加了 /AddReg命令以切换注册表输出。 默认情况下,脱机模式关闭此设置,对于联机模式,此设置默认处于打开状态。 该命令对联机模式不起作用,并启用脱机模式的注册表输出。
    • 此注册表项在 SetupDiag 第二次运行时即被删除,并替换为当前数据,因此始终为最新。
    • 调用新的更新实例时,也会删除此注册表项。
    • 有关示例,请参阅 示例注册表项

05/17/2019 - SetupDiag v1.4.1.0 随 53 个规则一起发布,作为下载中心提供的独立工具。

  • 此版本支持查找和诊断重置和恢复故障, (一键重置) 。

2018 年 12 月 18 日 - SetupDiag v1.4.0.0 作为下载中心提供的独立工具与 53 个规则一起发布。

  • 此版本包括规则处理性能的主要改进:规则处理性能快约 3 倍!
    • FindDownlevelFailure 规则的速度最多快 10 倍。
  • 添加了新规则以分析升级到版本 1809 Windows 10失败。
  • 当规则匹配指示此类型的故障时,可以使用新的帮助链接来解决下层操作系统上的服务堆栈故障。
  • 删除了指定 /Mode 参数的需要。 现在,如果指定 /LogsPath,它将自动假定脱机模式。
  • 对多个规则进行了一些功能和输出改进。

07/16/2018 - SetupDiag v1.3.1 作为从下载中心提供的独立工具随 44 个规则一起发布。

  • 此版本修复了在生成 setupmem.dmp 文件但没有安装调试器二进制文件的计算机上以联机模式运行 SetupDiag 时发生的问题。

07/10/2018 - SetupDiag v1.30 作为从下载中心提供的独立工具随 44 个规则一起发布。

  • 修复了过度匹配的插件规则的错误。 规则现在将仅正确匹配 (安装失败) 插件问题。
  • 新功能:以 JSON 和 XML 格式输出日志的功能。
    • 使用"/Format:xml"或"/Format:json"命令行参数指定新的输出格式。 请参阅 本主题 底部的示例日志。
    • 如果省略"/Format:xml"或"/Format:json"参数,日志输出格式将默认为文本。
  • 新功能:如果可能,规则输出中现已提供特定说明,以修复标识的错误。 例如,提供说明以修正已知的阻止问题,例如卸载不兼容的应用或释放系统驱动器上的空间。
  • 添加了 3 个新规则:AdvancedInstallerFailed、MigrationAbortedDueToPluginFailure、DISMAddPackageFailed。

05/30/2018 - SetupDiag v1.20 随 41 规则一起发布,作为下载中心提供的独立工具。

  • 修复了联机模式下设备安装失败检测中的 Bug。
  • 将 SetupDiag 更改为在没有 setupact.log 实例的情况下工作。 以前,SetupDiag 至少需要一个 setupact.log 才能运行。 通过此更改,该工具可以分析在调用 SetupHost 之前发生的更新故障。
  • 如果与 Setup360 ReportId 和 Setup360 ReportId 不匹配 (遥测将重构为仅发送规则名称和 GUID (或"NoRuleMatch) ed"。 此更改可确保规则处理期间的数据隐私。

05/02/2018 - SetupDiag v1.10 作为下载中心提供的独立工具随 34 个规则一起发布。

  • 添加了性能增强,以加快规则处理速度。
  • 规则输出现在包括指向支持文章的链接(如果适用)。
  • SetupDiag 现在提供正在处理的文件的路径和名称。
  • 现在只需单击 SetupDiag,然后检查输出数据,即可运行日志文件。
  • 输出日志文件现在始终创建,无论规则是否匹配。

03/30/2018 - SetupDiag v1.00 作为从下载中心提供的独立工具随 26 个规则一起发布。

示例日志

文本日志示例

Matching Profile found: OptionalComponentOpenPackageFailed - 22952520-EC89-4FBD-94E0-B67DF88347F6
System Information:
    Machine Name = Offline
    Manufacturer = MSI
    Model = MS-7998
    HostOSArchitecture = x64
    FirmwareType = PCAT
    BiosReleaseDate = 20160727000000.000000+000
    BiosVendor = BIOS Date: 07/27/16 10:01:46 Ver: V1.70
    BiosVersion = 1.70
    HostOSVersion = 10.0.15063
    HostOSBuildString = 15063.0.amd64fre.rs2_release.170317-1834
    TargetOSBuildString = 10.0.16299.15 (rs3_release.170928-1534)
    HostOSLanguageId = 2057
    HostOSEdition = Core
    RegisteredAV = Windows Defender,
    FilterDrivers = WdFilter,wcifs,WIMMount,luafv,Wof,FileInfo,
    UpgradeStartTime = 3/21/2018 9:47:16 PM
    UpgradeEndTime = 3/21/2018 10:02:40 PM
    UpgradeElapsedTime = 00:15:24
    ReportId = dd4db176-4e3f-4451-aef6-22cf46de8bde

Error: SetupDiag reports Optional Component installation failed to open OC Package. Package Name: Foundation, Error: 0x8007001F
Recommend you check the "Windows Modules Installer" service (Trusted Installer) is started on the system and set to automatic start, reboot and try the update again.  Optionally, you can check the status of optional components on the system (search for Windows Features), uninstall any unneeded optional components, reboot and try the update again.
Error: SetupDiag reports down-level failure, Operation: Finalize, Error: 0x8007001F - 0x50015
Refer to https://docs.microsoft.com/windows/deployment/upgrade/upgrade-error-codes for error information.

XML 日志示例

<?xml version="1.0" encoding="utf-16"?>
<SetupDiag xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://docs.microsoft.com/windows/deployment/upgrade/setupdiag">
  <Version>1.6.0.0</Version>
  <ProfileName>FindSPFatalError</ProfileName>
  <ProfileGuid>A4028172-1B09-48F8-AD3B-86CDD7D55852</ProfileGuid>
  <SystemInfo>
    <MachineName>Offline</MachineName>
    <Manufacturer>Gigabyte Technology Co., Ltd.</Manufacturer>
    <Model>X470 AORUS ULTRA GAMING</Model>
    <HostOSArchitecture>1033</HostOSArchitecture>
    <FirmwareType>UEFI</FirmwareType>
    <BiosReleaseDate>20180808000000.000000+000</BiosReleaseDate>
    <BiosVendor>F3</BiosVendor>
    <BiosVersion />
    <HostOSVersion>10.0.18908</HostOSVersion>
    <HostOSBuildString>18908.1000.amd64fre.rs_prerelease.190524-1658</HostOSBuildString>
    <TargetOSBuildString>10.0.18912.1001 (rs_prerelease.190601-1739)</TargetOSBuildString>
    <HostOSLanguageId />
    <HostOSEdition>Professional</HostOSEdition>
    <RegisteredAV>Windows Defender</RegisteredAV>
    <FilterDrivers />
    <UpgradeStartTime>2019-06-06T21:19:10</UpgradeStartTime>
    <UpgradeElapsedTime />
    <UpgradeEndTime>2019-06-06T22:21:49</UpgradeEndTime>
    <RollbackStartTime>0001-01-01T00:00:00</RollbackStartTime>
    <RollbackEndTime>0001-01-01T00:00:00</RollbackEndTime>
    <RollbackElapsedTime />
    <FinalizeStartTime>0001-01-01T00:00:00</FinalizeStartTime>
    <PostOOBESuccessTime>0001-01-01T00:00:00</PostOOBESuccessTime>
    <TotalOfflineTime />
    <CommercialId>Offline</CommercialId>
    <CV>MgUweCZk90KdwUiZ</CV>
    <SetupReportId>F21F8FB6-00FD-4349-84FB-2AC75F389E73</SetupReportId>
    <ReportId>F21F8FB6-00FD-4349-84FB-2AC75F389E73</ReportId>
  </SystemInfo>
  <LogErrorLine>2019-06-06 21:47:11, Error                 SP     Error converting install time 5/2/2019 to structure[gle=0x00000057]</LogErrorLine>
  <FailureData>
Error: SetupDiag reports Fatal Error.
Last Setup Phase = Downlevel
Last Setup Operation: Gather data, scope: EVERYTHING
Error: 0x00000057</FailureData>
  <FailureData>LogEntry: 2019-06-06 21:47:11, Error                 SP     Error converting install time 5/2/2019 to structure[gle=0x00000057]</FailureData>
  <FailureData>LogEntry: 2019-06-06 21:47:11, Error                 SP     Error converting install time 5/2/2019 to structure[gle=0x00000057]</FailureData>
  <FailureData>
Refer to "https://docs.microsoft.com/windows/desktop/Debug/system-error-codes" for error information.</FailureData>
  <FailureDetails>Err = 0x00000057, LastOperation = Gather data, scope: EVERYTHING, LastPhase = Downlevel</FailureDetails>
</SetupDiag>

JSON 日志示例

{
    "Version":"1.6.0.0",
    "ProfileName":"FindSPFatalError",
    "ProfileGuid":"A4028172-1B09-48F8-AD3B-86CDD7D55852",
    "SystemInfo":{
        "BiosReleaseDate":"20180808000000.000000+000",
        "BiosVendor":"F3",
        "BiosVersion":"F3",
        "CV":"MgUweCZk90KdwUiZ",
        "CommercialId":"Offline",
        "FilterDrivers":"",
        "FinalizeStartTime":"\/Date(-62135568000000-0800)\/",
        "FirmwareType":"UEFI",
        "HostOSArchitecture":"x64",
        "HostOSBuildString":"18908.1000.amd64fre.rs_prerelease.190524-1658",
        "HostOSEdition":"Professional",
        "HostOSLanguageId":"",
        "HostOSVersion":"",
        "MachineName":"Offline",
        "Manufacturer":"Gigabyte Technology Co., Ltd.",
        "Model":"X470 AORUS ULTRA GAMING",
        "PostOOBESuccessTime":"\/Date(-62135568000000-0800)\/",
        "RegisteredAV":"Windows Defender",
        "ReportId":"F21F8FB6-00FD-4349-84FB-2AC75F389E73",
        "RollbackElapsedTime":"PT0S",
        "RollbackEndTime":"\/Date(-62135568000000-0800)\/",
        "RollbackStartTime":"\/Date(-62135568000000-0800)\/",
        "SetupReportId":"F21F8FB6-00FD-4349-84FB-2AC75F389E73",
        "TargetOSArchitecture":null,
        "TargetOSBuildString":"10.0.18912.1001 (rs_prerelease.190601-1739)",
        "TotalOfflineTime":"PT0S",
        "UpgradeElapsedTime":"PT1H2M39S",
        "UpgradeEndTime":"\/Date(1559884909000-0700)\/",
        "UpgradeStartTime":"\/Date(1559881150000-0700)\/"
    },
    "LogErrorLine":"2019-06-06 21:47:11, Error                 SP     Error converting install time 5\/2\/2019 to structure[
        gle=0x00000057
    ]",
    "FailureData":[
        "\u000aError: SetupDiag reports Fatal Error.\u000aLast Setup Phase = Downlevel\u000aLast Setup Operation: Gather data, scope: EVERYTHING\u000aError: 0x00000057",
        "LogEntry: 2019-06-06 21:47:11, Error                 SP     Error converting install time 5\/2\/2019 to structure[
            gle=0x00000057
        ]",
        "LogEntry: 2019-06-06 21:47:11, Error                 SP     Error converting install time 5\/2\/2019 to structure[
            gle=0x00000057
        ]",
        "\u000aRefer to \"https:\/\/docs.microsoft.com\/en-us\/windows\/desktop\/Debug\/system-error-codes\" for error information."
    ],
    "FailureDetails":"Err = 0x00000057, LastOperation = Gather data, scope: EVERYTHING, LastPhase = Downlevel",
    "DeviceDriverInfo":null,
    "Remediation":[
        
    ],
    "SetupPhaseInfo":null,
    "SetupOperationInfo":null
}

注册表项示例

Addreg 示例。

相关主题

解决Windows 10升级错误:适用于 IT 专业人员的技术信息