After migrating SCCM clients from 2007 to 2012, the Software Center console on some of the migrated clients would open and displays an “error 0x80041013” message: “Loading Software Center returned error code 0x80041013 (-2147217389).”
Examining the problematic systems revealed that the old SCCM 2007 client was not fully or properly removed, evident by files still remaining behind, one example being C:\Windows\SysWOW64\CCM. CCMSDKProvider.log was also logging exceptions being thrown about a WMI Provider load failure:
After some troubleshooting, it turned out that one of the earlier 2007 DLL files was still present in the registry and this problem seemed to affect 64-bit machines only.
We reached that conclusion by running WBEMTest and connecting to root\ccm\clientsdk (as evident by the log file above) and enumerating the classes present. The WMI provider for them had a CLSID of {555b0c3e-41bb-4b8a-a8ae-8a9bee761bdf} as shown below:
We searched the registry for this CLSID. Checking HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{555B0C3E-41BB-4B8A-A8AE-8A9BEE761BDF}\InProcServer32 showed that “Default” still had a value of “C:\Windows\SysWOW64\CCM\dcmsdk.dll” which is from the 2007 client. We blanked the value present.
We checked the second “Default” value present in HKEY_CLASSES_ROOT\CLSID\{555B0C3E-41BB-4B8A-A8AE-8A9BEE761BDF}\InProcServer32 and found it contains the proper value for the 2012 client: “C:\WINDOWS\CCM\ccmcisdk.dll“. After blanking the first value mentioned above, the Software Center started to open and function properly without any errors.
4 responses to “SCCM 2012 Software Center error 0x80041013”
Thank you, it fixed the issue for me on a Vista machine.
Its really work! Thank you!
But in my server 2012 machine above mentioned default value already blank. Now what can i do to resolve this issue.
Great Stuff. It worked like charm for me.
We are on CM 1902, but we still have traces of SCCM 2007 on some clients. Epic. Lol….