I have some code to enable/disable the Windows Aero service in Vista, and I would like to run it in a Windows Service. The code works in a standalone application, but when I run
I had the same error code, when creating WPF FlowDocuments through a service running under 64-bit Vista. After digging around I can accross this post on Microsoft Connect, which points out that
"... The problem is caused by an interop problem with the DWM ..."
and
"... it will fix the WPF crash in all services including IIS7 ..."
Here is the direct link to the hot-fix downloads; KB 959209
This fixed our problems with running unit tests through CruiseControl.Net (CCNet) running 64-bit Vista. The tests where fine when not running through a service.
I dont know for certain, but perhaps you need to associate your service's process with the current desktop before that will work?
Make sure that your service can interact with the desktop. Then use SetThreadDesktop() to set the desktop for the service thread passing in a handle to the desktop called "Default".
I haven't tried it, and I can't guarantee it'll work. But it might be something to try?
Good luck :)