Knowledge Base

The service is not registered when you build an ATL service in Visual C++

Article ID: 167927

Article Last Modified on 1/10/2006


APPLIES TO


This article was previously published under Q167927

SYMPTOMS

When you build an ATL service, using the AppWizard, the COM objects are registered, but the service does not appear in the Control Panel's list of services.

CAUSE

The Wizard creates a custom build rule for self-registration. The rule uses the /RegServer switch instead of the /Service switch.

RESOLUTION

The Wizard adds the following custom build command:
   "$(TargetPath)" /RegServer
				
Change the build command to:
   "$(TargetPath)" /Service
				
To change the command, bring up the Project Settings dialog box, click the Custom Build tab, and edit the command in "Build command(s):".
NOTE: If you are using Visual Studio .NET or Visual C++ 2005, the Wizard adds the following "Post-Build Events" command line under the "Build Events" property page:

"$(TargetPath)" /RegServer

Change the build command to:

"$(TargetPath)" /Service

STATUS

This behavior is by design.

MORE INFORMATION

Because debugging local servers is easier than debugging services, most people prefer the default to be /RegServer. Once you have completed testing the EXE as a local server, you can either change the custom build step or run the EXE with /Service.

(c) Microsoft Corporation 1997, All Rights Reserved. Contributions by Chuck Bell, Microsoft Corporation.

Additional query words: kbatl200 kbatl210 kbatl300 kbvc500 kbvc600

Keywords: kbtshoot kbregistry kbserver kbservice kblocalsvr kbprb KB167927