各位高手
   我现在需要在安装程序中写一个注册windows服务的功能,最好不是启用进程调dos命令的,现在我用ManagedInstallerClass.InstallHelper是可以实现注册了,但在第二次安装时候会出错,因为服务被注册了两次,删除服务到也可以,但我不知道怎么判断目前系统中有没有这个服务,请高手指点用哪个方法能查到当天系统中有没有这个服务?这样我就可以查到需不需要先删除了。

解决方案 »

  1.   

    从你所说的所谓的注册windows服务应该就是在放在服务控制面板里而不是自己在注册表某个地方写些注册信息吧。
      1.反正在服务控制面板里的Windows里的服务都在注册表项里,好像是HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下面,你可以自己去查找相关信息。
      2.我安装程序里的Windows服务的创建,安装,卸载等基本都是通过调用WindowsAPI函数完成,你同样可以考虑使用这种方法来判断你的服务是否已经在Windows服务控制面板中存在。虽然API函数也是查注册表相应项。
      

  2.   

    LZ
    如何使用ManagedInstallerClass.InstallHelper注册啊.
      

  3.   

    上面的朋友能说的再具体一点吗  
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services我去查了  但他下面的项也过于多了点  我实在是辨认不出来应该属于哪个项下面还有就是你说的WindowsAPI  能给个例子出来吗  谢谢