views:

232

answers:

1

Hello,

My questions regards DCOM servers and windows sessions:

I have a windows service, running in win 2008 platform. on some scenarios, this service has to show some UI (Open a window). Despite the ugly design , it is the service it self that has to trigger the window opening.

In order to do so, i have a DCOM server that is created out-of-proc from the windows service and opens the window. The DCOM server is registered with the identity flag "Interactive user". On previous versions of windows, that caused the process of the DCOM server to be created on the "console session" (session zero). Now that i am testing the scenrio on windows 2008, i can see that the process created for the DCOM server is created on first active session avaliable (the one with the lowest id).

That test aligns with the fact the on windows 2008 no user interactive process can be created on session zero, and that the windows service is not marked as "user interactive".

In practice - the first user who logged in to the server will see the UI created by the DCOM server.

Is there a way to control the session in which the DCOM server is created?

Tech details: Both the windows service and the DCOM server are written in C++ (using ATL).

win 2008 R2

Visual Stusio 2008 (C++ Redistributable 9)

A: 

This blog will help you UI0Detect, WlS0WndH and a lie...
This will really help you Interacting with Services
If you have time check out this video Session 0 Changes and Vista Compatibility for Services running as Interactive with Desktop

lsalamon