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.

21. Aug 2018Troubleshooting
Article Details
Article Number: 000002123
Version: 3
Audience: Advanced
First Published: 2015-9-2
Last Modified: 2018-8-21
Knowledge Total View Count
8.048
Symptoms

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: ..."

Cause

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.

Troubleshooting steps

Open an elevated Command Prompt:

  • click Start, type cmd, right-click Command Prompt, and select "Run as administrator."
  • navigate to windowssystem32 by running the command:
    cd c:windowssystem32
  • 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.

Difference in the commands

Resolution
原文地址:https://www.cnblogs.com/liujx2019/p/13331994.html