Microsoft KB Archive/167927

= 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


 * Microsoft ActiveX Template Library 2.0
 * Microsoft ActiveX Template Library 2.1
 * Microsoft ActiveX Template Library 3.0
 * Microsoft Visual C++ 2005 Express Edition
 * Microsoft Visual C++ .NET 2003 Standard Edition
 * Microsoft Visual C++ .NET 2002 Standard Edition

-



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

-

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

© Microsoft Corporation. All rights reserved.