Thoughts from the EPS Windows Server Performance Team
Useful Microsoft Blogs
Hello AskPerf! Michael Smith here with a quick post on what can cause Win32_QuickFixEngineering to return "No Instances Available". A captured Procmon log while running WMIC QFE or Enumerating Instances with WBEMTEST might reveal something similar to the below picture:
Here it appears that WMI calls into the Servicing stack to get information about installed updates, which makes sense. So what happened? We can see TrustedInstaller could not find the mum file for KB2618444 and it started writing to the CBS.log. Since this seems to indicate a problem with Servicing we should run the System Update Readiness Tool, aka CheckSUR, and check the following logs:
NOTE Sometimes simply running CheckSUR can resolve some of servicing issues it detects. In this particular case, CheckSUR could not find the mum files either.
Let's take a look at the CheckSUR.persist.log below:
Checking System Update Readiness.
Binary Version 6.1.7601.21645
Package Version 14.0
Checking Windows Servicing Packages
Checking Package Manifests and Catalogs
Checking Package Watchlist
Checking Component Watchlist
(f) CBS MUM Missing 0x00000002 servicing\Packages\Package_for_KB2618444~31bf3856ad364e35~amd64~~22.214.171.124.mum
(f) CBS MUM Missing 0x00000002 servicing\Packages\Package_for_KB2618451_RTM~31bf3856ad364e35~amd64~~126.96.36.199.mum
Checking Component Store
Seconds executed: 169
Found 2 errors
CBS MUM Missing Total count: 2
Unavailable repair files:
Here we can see that CheckSUR could not find these two mum files. So what do we do now? Fortunately, my colleague Joseph Conway, has a great blog on how to troubleshoot this issue. All we need to do is manually download the updates for KB2618444 and KB2618451 and copy the .msu files over to “%windir%\CheckSUR\Packages” (you will need to create this directory) and then run CheckSUR again which will take care of the rest!
After repairing the Servicing issue, WMI was able to return instances from Win32_QuickFixEngineering:
C:\>wmic path win32_quickfixengineering get HotFixID,InstalledOn /format:list
… (Truncated for brevity)
Hope you enjoyed this two minute drill.
Great one.. really a useful piece of information
Any explanation for the discrepancy between:
#run from powershell
#run following from cmd.exe (without #)
#wmic path win32_quickfixengineering get HotFixID,InstalledOn,Description /format:list
Microsoft e seus segredos... parabens por compartilhar a solução.
"...copy the .msu files over to "%windir%\Windows\CheckSUR\Packages"
Should be "%SYSTEMROOT%\CheckSUR\Packages"
Nice catch Drewfus. Got it fixed. Thanks!
Wonderful, timely, and very helpful article. Thank you for sharing your expertise and experience.