ATL中的BUG,在没有COM的服务中,使用_ATL_NO_COM_SUPPORT。
并在服务中添加下面的代码
#if defined(_ATL_NO_COM_SUPPORT) HRESULT PreMessageLoop(int nShowCmd) { SetServiceStatus(SERVICE_RUNNING); return ATL::CAtlServiceModuleT< CMemoryDBModule, IDS_SERVICENAME >::PreMessageLoop(nShowCmd); } #endif
VS2012编译的Windows服务启动后立即停止的解决方案
原文:http://www.cnblogs.com/lonelyxmas/p/3561573.html