This issue has been submitted to Dopus support and Greg Perry has answered with a possible cause but we are not sure about it so with it's advise I put it here to the forum so anyone with any idea can help.
The issue is : When launching DO 9 a window with an error pops up
The text is: The procedure entry point IsThreadDesktopComposited could
not be located in the dynamic link library USER32.DLL
Possible cause according to Greg Perry is (some quotes)
It indicates some other utility installed on your computer that is being called under the instance of Opus.
The problem sounds to be some 3rd party program you have installed on your system which is adding a context handler to selected items.
Some context menu extensions can be either poorly written or require call-backs to functions of other programs not present on your system or can handle error conditions poorly, resulting in problems such as this.
(End quotes)
I don't have any problem with context menus as far as I'm aware of it and I don't see what program can cause this.
Any other ideas that can contribute to a solution?
IsThreadDesktopComposited is not a function that Opus calls (and in fact I can't find any mention of it as an official Windows API function.)
If you search on Google the only real mention of it (and in fact, of the error you are receiving) is in relation to software from a company called Indigo Rose. I have no idea who they are or what they do or if you are using any of their software, but that might be a good place to start looking.
I think, but I'm not sure, that in the past I tried one of their software (Setup Factory) but that was long ago. Now I have nothing of that company installed.
With Dopus 8 there was no problem, with Dopus 9 there is.
I've tried long time ago Setup Factory from this company but I don't have any traces of it now.
I have installed Process Monitor from ex-Sysinternals. I can use it to log the system activity while launching Dopus. I'm not a computer expert and I don't understand the log messages.
If anyone is able to analyze those logs I can send one.
Could you make another log showing all actions, not just failures?
I think the problem is that a shell extension or other DLL that Opus is loading on your system has been compiled for Vista and that's causing an error, but to work out which DLLs requires seeing the DLLs that Opus does load successfully, so just seeing the failures might miss it.
With an email client (or the Opus zip & email function, even). Don't worry about that though, I grabbed the files from the forum. (Then deleted the posts/attachments to free up the space.)
There's a lot of log file to look through there so the answer might be in there but I can't find anything so far.
Opus seems to stop after accessing your Recent folder. Clearing that might be worth a try, in case there's something in it which triggers the error. I doubt that is the case, though. It's probably unrelated.
Could you see which shell extensions you're running with the tool GHammer suggested? Maybe one of them will look suspicious.
Also, it might be worth grabbing a newer version of Setup Factory, installing that, then seeing if Opus then works again, then removing it. If part of it is left on the system then installing the latest version with the fix should fix it, in theory.
I'd still say that something on your computer has been compiled to work only with Vista and above, since it's looking for a function in User32.dll that, AFAIK, is only in Vista. It's hard to tell what that thing is, though. It could also be that an installer for something has copied down a Windows DLL from Vista, i.e. overwritten a Microsoft component with a newer version that only works on Vista. Just a guess, though.
GHammer isn't the name of the tool, it's the name of the person who suggested the tool earlier in this thread.
Here's anothing thing to try:
[ol][li]Download the strings utility from Microsoft.
[/li]
[li]Unpack the zip and copy the strings.exe tool into C:\Windows\System32
[/li]
[li]Open a command prompt (Start -> Run -> cmd.exe) and CD to C:[/b]
[/li]
[li]Run this command:
strings -a -s -n 25 *.dll | findstr /C:IsThreadDesktopComposited 2>nul[/li][/ol]This will take some time because it will search through every .DLL on your C-drive for the string "IsThreadDesktopComposited".
On a Windows XP machine you shouldn't get any results at all so anything that contains that string is suspicious. Let us know what you find before doing anything as it is possible something could innocently contain the string. Whatever you do, don't delete user32.dll or anything silly like that as it'll break your Windows install.
On a Vista machine I get this:
C:\>strings -a -s -n 25 *.dll | findstr /C:IsThreadDesktopComposited 2>nul
C:\Windows\System32\dwmapi.dll: IsThreadDesktopComposited
C:\Windows\System32\gdi32.dll: IsThreadDesktopComposited
C:\Windows\System32\user32.dll: IsThreadDesktopComposited
C:\Windows\System32\uxtheme.dll: IsThreadDesktopComposited
(and few more matches in backups of the same files)
On an XP machine you shouldn't see any results at all.
DWMAPI.DLL is part of Vista and should not exist on an XP machine. Rename it to DWMAPI.NOT and the problem should go away.
I'm not sure why DWMAPI.DLL would have ended up on your XP computer. I guess something accidentally included it in an installer. It definitely doesn't belong on XP and might cause other Vista-aware programs to fail so you can safely rename it (or delete it if you feel confident, but you might as well keep it just in case).