If I saw an error like that I would use this free program to "look inside" the DLL to see if the function that is reported to be missing is inside the DLL or not:
When i look inside the at the functions inside the Windows XP SP3 ole32.dll I do not see a function called ObjectStublessClient29:
It is also not in the Windows XP SP3 oleaut32.dll (you can look for yourself).
But when I look inside at the functions inside the Windows 7 SP1 ole32.dll file what do I see:
And it is also in the Windows 10 ole32.dll.
So if you are running XP what is the program(s) that are looking for Windows 7/10 functions inside a Windows XP DLL and how can this be?
What will not help you is sfc /scannow, fixboot or chkdsk since they will not make missing functions magically appear in DLLs where they are not supposed to be. And with Windows XP sfc /scannow does not "replace missing or corrupted files in the system32 folder" like most people think/claim (it is a myth and you can prove it) and you can prove that and learn what sfc /scannow really does and what it doesn't do with a little test - then you will be smarter than the average bear.
If you want to replace a file that is in use, you either need to do it from the XP Recovery Console or from something like a Hiren's Boot CD.
Since most folks don't seem to have a genuine bootable Windows XP SP3 media to get into the Recovery Console you can make a bootable Hiren's CD (or USB) and you will be glad you did later if you have to fix a no boot scenario with XP.
I can post instructions on how to do that if it is your desire.
Instead of just copying over the top of files I would rename the current file first, then copy in a replacement so you have some way to undo things in case things get worse.
The big question is why is your XP system looking inside the ole23.dll file for Windows 7/10 functions?
If your system used to work properly what do you think happened to it since the last time it did work properly?
Edited by joseibarra, 28 April 2018 - 09:19 AM.