Microsoft KB Archive/925518

= Programs that try to send a message to Session 0 may stop responding in Windows Vista =

Article ID: 925518

Article Last Modified on 3/15/2007

-

APPLIES TO


 * Windows Vista Business
 * Windows Vista Enterprise
 * Windows Vista Home Basic
 * Windows Vista Home Premium
 * Windows Vista Starter
 * Windows Vista Ultimate
 * Windows Vista Enterprise 64-bit edition

-



SYMPTOMS
Certain programs, such as installation programs, services, or drivers, may appear to stop responding in Windows Vista.

This issue may occur if the program tries to use an interactive service to send a message dialog box to the user that is logged on to Session 0, or the &quot;console session.&quot;



CAUSE
The issue occurs because Windows Vista isolates services in Session 0 and runs user programs in other sessions. Because the user is no longer logged on to Session 0, the user cannot see the message dialog box. Therefore, the user cannot respond to the message dialog box that is sent to Session 0. The program appears to stop responding to wait for a response.



RESOLUTION
To resolve this issue, contact the manufacturer of the program for an updated version that is compatible with Windows Vista. For information about how to contact the manufacturer of the program, click the appropriate article number in the following list to view the article in the Microsoft Knowledge Base:

65416 Hardware and software vendor contact information, A-K

60781 Hardware and software vendor contact information, L-P

60782 Hardware and software vendor contact information, Q-Z



WORKAROUND
To work around this issue, the interactive service detection service may provide notification to the user when a message dialog box is sent to Session 0. Then, the user has the option to interact with the dialog box. This service will not be available in future releases of Windows Vista.



MORE INFORMATION
Windows Vista isolates services in Session 0 and runs programs in other sessions. Therefore, services are protected from attacks that originate in program code. In Microsoft Windows Server 2003 and earlier versions of Windows, all services run in Session 0 together with programs. This behavior can pose a security risk because services run with elevated permissions. Therefore, these services are targets for malicious agents who are looking for a way to elevate their permissions.

For more information about how Session 0 isolation affects services and drivers, visit the following Microsoft Web page:

http://www.microsoft.com/whdc/system/vista/services.mspx

Service guidance
Services should not provide direct user interaction by using the SetProcessWindowStation function and the SetThreadDesktop function. A service should never open a window on the default desktop. This includes simple user notification dialog boxes such as a &quot;Printer Out of Paper&quot; notification or a Driver Package restart request. Instead, services that need user interaction should use a client/server model. Such services should communicate through client/server style mechanisms such as remote procedure call (RPC) or COM. The use of named objects must follow the &quot;Terminal Services Programming Guidelines for Kernel Object Namespaces.&quot; These guidelines are documented in the SDK because the service runs in Session 0 and the client computer runs in a later session.

Keywords: kbtshoot kbinfo kbexpertiseadvanced KB925518

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.