设置 SetupAPI 日志记录级别
对于所有设备安装应用程序或单个设备安装应用程序,可以控制写入 SetupAPI 日志的信息量。
若要更改写入到所有设备安装应用程序的 SetupAPI 日志的信息级别,请创建 (或修改) 以下注册表值:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\LogLevel
通过使用下表中列出的值将此值 () 可以选择记录的错误级别、修改日志记录的详细程度或关闭日志记录。 还可以将信息记录到调试器以及日志文件。
若要指定单个设备安装应用程序的日志记录级别,请在以下项下创建注册表项:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\AppLogLevels
在此键下,创建一个表示应用程序的可执行文件名称的值名称,并使用下表) 中列出的值(如 service.exe=LoggingLevel)将所需的日志记录级别分配给该名称 (。
日志记录级别为 DWORD 值。 如果未指定此值或此值为零,则 SetupAPI 使用默认行为,如下表所示。
DWORD 值由三个部分组成,格式为 0xSSSSDDGG。 由掩码0x000000FF表示的低 8 位设置常规设备安装操作的日志记录级别。 下一个更高八位(由掩码0x0000FF00表示)设置设备安装操作的日志记录级别。 最高位是特殊标志。
下表包含适用于 Windows 2000 及更高版本的常规日志记录级别、设备安装日志记录级别和特殊日志记录标志。
常规日志记录级别 | 含义 |
---|---|
0x00000000 | 使用当前0x20) (默认设置。 |
0x00000001 | 关闭 (没有设备安装日志记录) 。 |
0x00000010 | 记录错误。 |
0x00000020 | 记录错误和警告。 |
0x00000030 | 记录错误、警告和其他信息。 |
0x00000040 | 在详细模式下记录错误、警告和其他信息。 |
0x00000050 | 在详细模式下记录错误、警告和其他信息,以及时间戳条目。 |
0x00000060 | 在详细模式下记录错误、警告和其他信息,以及时间条目。 此外,所有条目都带有时间戳。 |
0x00000070 | 在详细模式下记录错误、警告和其他信息,以及时间消息。 所有条目都带有时间戳。 包括可能减慢系统速度的其他消息,例如缓存命中数。 |
0x000000FF | 指定最详细的可用日志记录。 |
设备日志记录级别 | 含义 |
---|---|
0x00000000 | 使用当前0x3000) (默认设置。 |
0x00000100 | 关闭 (没有设备安装日志记录) 。 |
0x00001000 | 记录错误。 |
0x00002000 | 记录错误和警告。 |
0x00003000 | 记录错误、警告和其他信息。 |
0x00004000 | 在详细模式下记录错误、警告和其他信息。 |
0x00005000 | 在详细模式下记录错误、警告和其他信息,以及时间戳条目。 |
0x00006000 | 在详细模式下记录错误、警告和其他信息,以及时间条目。 此外,所有条目都带有时间戳。 |
0x00007000 | 在详细模式下记录错误、警告和其他信息,以及时间消息。 所有条目都带有时间戳。 包括可能减慢系统速度的其他消息,例如缓存命中数。 |
0x0000FF00 | 指定最详细的可用日志记录。 |
特殊标志 | 含义 |
---|---|
0x08000000 | (Windows XP 及更高版本) 向所有日志条目添加时间戳。 |
0x20000000 | (Windows XP 及更高版本) 写入每个条目后不要将日志记录信息刷新到磁盘。 (日志记录速度更快,但如果系统崩溃,信息可能会丢失。) |
0x40000000 | 按时间顺序编写日志条目,而不是对条目进行分组。 |
0x80000000 | 将输出发送到调试器以及日志文件。 |
例如,SetupAPI 按如下所示解释一些示例 LoggingFlags 值:
0x00000000表示默认日志记录。
0x0000FFFF表示详细日志记录。
0x8000FF00表示将详细的设备安装信息记录到日志文件和调试器。
若要在全新安装期间修改默认的 SetupAPI 日志记录级别,请在文本模式设置和 GUI 模式安装之间的时间段内编辑注册表。 以下步骤介绍了该过程。 这些步骤假定你正在安装到 D:\Winnt ,并且在另一个分区上具有相同版本的 Windows 的工作内部版本。 按如下所示更改 SetupAPI 日志记录级别:
开始安装要测试的全新版本。
在文本模式安装 ((即在 GUI 模式安装) 之前)首次启动期间停止安装过程。
从启动菜单中选择工作生成,然后以管理员身份登录。
在 D:\Winnt\System32\config 中查找) (注册表配置单元。在这种情况下,需要在 Software.sav 中修改注册表配置单元。
在 Windows 2000 上运行 Regedt32,选择“本地计算机上的HKEY_LOCAL_MACHINE”窗口,然后选择HKEY_LOCAL_MACHINE键。 然后单击“ 注册表 ”菜单并选择“ 加载 Hive”。
在 Windows XP 及更高版本上运行 RegEdit。 突出显示HKEY_LOCAL_MACHINE,单击“ 文件 ”菜单,然后选择“ 加载配置单元”。
浏览文件并选择 “D:\Winnt\System32\config\software.sav”。 当系统提示输入密钥名称时,输入“_sw.sav”
在 HKEY_LOCAL_MACHINE 下打开 _sw.sav 键,并突出显示以下键:
HKEY_LOCAL_MACHINE_sw.sav\Microsoft\Windows\CurrentVersion\Setup
在 Windows 2000 上,单击“ 安全 ”菜单,选择“ 权限”,然后将完全控制权授予管理员。
在 Windows XP 及更高版本上,单击“ 编辑 ”菜单,选择“ 权限”,然后将完全控制权授予管理员。
在 Windows 2000 上,单击“ 编辑 ”并选择“ 添加值”,在此键下添加必要的注册表值。
在 Windows XP 及更高版本上,单击“ 编辑 ”并选择“ 新建 DWORD 值”。
输入值。 例如,添加“0xFFFF”以启用完整详细日志记录。
选择“HKEY_LOCAL_MACHINE\_sw.sav”,并使用 Windows 2000 上的 “注册表 ”菜单卸载配置单元 (,或者 Windows XP 和更高版本的“ 文件 ”菜单) The_sw.sav 键应消失。
将 D:\Winnt\System32\config\software.sav 复制到 D:\Winnt\System32\config\software。
重新启动并继续进入安装程序。
若要验证此更改,请在 GUI 模式安装程序中按 SHIFT+F10,然后运行regedit.exe并检查日志记录级别。