Friday, October 7, 2011

IsThreadDesktopComposited prevents program startup

Problem: a NetScanTools Pro v11.10 user emailed with a strange problem. He could not get NetScanTools Pro to start on Windows XP sp3, instead he would get this message: "Entry Point Not Found. The procedure entry point IsThreadDesktopComposited could not be located in the dynamic link library USER32.DLL."

The first thing I did was use Dependency Walker to see if our program called that entry point in user32.dll. It did not. So I searched online and found the answer.

Apparently some misguided installers are putting a Vista file called dwmapi.dll into the Windows XP Windows\System32 directory. Some programs like NetScanTools Pro v11 are affected by this and give the IsThreadDesktopComposited error. Some people have noticed this happening after a Windows Live Messenger or Mail upgrade but I have not independently confirmed this.

1. locate dwmapi.dll in the windows\system32 directory
2. rename or remove it
3. reboot to be sure it's unloaded from memory

No comments: