The procedure entry point SHCreateThreadRef could not be located in the dynamic link library SHLWAPI.DLL
Posted on 2004-10-15
This is more a comment that a question, but concerns the cause and solution for the error message described in the title.
There appears to be a potential problem brewing out there in relation to Windows XP SP2 and application of the subsequent SP2 (Security Bulletin MS04-038, update KB834707) critical update. I live in one consultant in a small community and so far I have had two clients with this problem, so I thought I would just put out the information that I have found. Please excuse the length of this post. The problem occurs when KB834707 is applied to a computer in which SP2 was not fully installed. I know this should not be able to occur, but it does. The two clients that I have fixed resulted from two different circumstances. In the first, SP2 was applied, and then KB834707 was applied before rebooting the system. In the second, the SP2 installation was canceled (gracefully) when the user determined that they simply did not have enough time to complete it at that time. Returning to Windows Update the next day, the automatic process acted as if SP2 was fully installed, and prompted them to install KB834707, which they did. Now both situations involve a mistake on the part of the user, albeit very understandable ones that many users would be likely to make. The real problem sees to be that KB834707 does not adequately check its own prerequisites before installing. The result is that the user can boot and logon, but they then get a message “The procedure entry point SHCreateThreadRef could not be located in the dynamic link library SHLWAPI.DLL”. The Start button and desktop icons are not displayed, indicating that Explorer.exe is never loaded. The user can Ctl-Alt-Delete to get to task manager to shut down. The same problem occurs when booting in Safe Mode. The solution (finally, if that is what you are looking for) is to uninstall KB834707. I was able to do this in both instances using the following procedure
1. Boot to the Recovery Console (and hope you have the admin password)
2. Type cd $ntservicepackuninstall$\spuninst
3. Type batch spuninst.txt
4. The screen will scroll around, saying “files missing”, “access denied” and also copying files about. Just wait for this all to finish
5. Reboot. I was able to reboot in normal mode
6. Re-install SP2 (You must do this or the problem will recurr at step 7). REBOOT
7. Install KB834707
I hope this helps the next person. Regards.