Milestone 不能卸载,修复 Counter 即可
XProtect installer may fail with the error "Category does not exist" or "Cannot load Counter Name data because an invalid index"
When running the XProtect® installer, it may fail with one of the following error messages: "Cannot load Counter Name data because an invalid index was read from the registry" or "Category does not exist." This article provides a possible solution.
Version: 3
Audience: Advanced
First Published: 2015-9-2
Last Modified: 2018-8-21
When running the XProtect installer, it may fail with one of the following error messages:
"Cannot load Counter Name data because an invalid index was read from the registry."
"Category does not exist."
Additionally, if you attempt to open Microsoft Performance Monitor on the affected system, you will receive the message: "Unable to add these counters: ..."
During a new installation, you may see the error messages at the beginning of the installation process.
This error refers to missing, disabled or corrupt performance counters in the Microsoft Performance Monitor.
Open an elevated Command Prompt:
- click Start, type cmd, right-click Command Prompt, and select "Run as administrator."
- navigate to
windows\system32
by running the command:
cd c:\windows\system32\
- Next, type:
lodctr /r
and press Enter
This will rebuild the performance counters in the event they become corrupt or missing.
After lodctr /r
command is executed, it is possible that some counters will be
disabled. You can check their status by running the following command:lodctr /q
— if you see (Disabled) next to a counter, you can enable it with:lodctr /e: [counter name]
this command.
Example output of the lodctr /q:PerfProc
command:
Performance Counter ID Queries [PERFLIB]:
Base Index: 0x00000737 (1847)
Last Counter Text ID: 0x00001E86 (7814)
Last Help Text ID: 0x00001E87 (7815)
[PerfProc] Performance Counters (Disabled)
DLL Name: perfproc.dll
Open Procedure: OpenSysProcessObject
Collect Procedure: CollectSysProcessObjectData
Close Procedure: CloseSysProcessObject
To enable it, just type:lodctr /e:PerfProc
To validate that the Performance Counter is enabled, type the lodctr /q:PerfProc
command again and it will look like this:
Performance Counter ID Queries [PERFLIB]:
Base Index: 0x00000737 (1847)
Last Counter Text ID: 0x00001E86 (7814)
Last Help Text ID: 0x00001E87 (7815)
[PerfProc] Performance Counters (Enabled)
DLL Name: perfproc.dll
Open Procedure: OpenSysProcessObject
Collect Procedure: CollectSysProcessObjectData
Close Procedure: CloseSysProcessObject
Once the counters have been rebuilt (and checked that they are all enabled), the installation should complete successfully.
For more detailed information on rebuilding performance counter library values read:
"How to manually rebuild Performance Counter Library values"
Note: If you run the command and instead of a success message see the following error: Error code 2.
, try to replace /r
at the end of the command with /R
.