点击这里给我发消息 点击这里给我发消息

给windows服务添加描述-.NET教程,Asp.Net开发

添加时间:2010-1-5
    相关阅读: 开发

最近写了个windows服务(windows services),安装了以后,觉得和已有的windows服务不一样。为什么?我的缺少描述,中间一栏是空的。

  再看.net的servicebase类没有添加描述的属性。

  public class projectinstaller : system.configuration.install.installer中也没有什么属性来添加。从网搜了后才知道要重载projectinstaller 的install和uninstall虚方法。其实重写这些虚方法就是为了在注册表相应服务中加一个键值"description",其值填为相应的描述就可以了。

  public override void install(idictionary stateserver)
  {
  microsoft.win32.registrykey system,
  service,
  config;
  try
  {
  //let the project installer do its job
  base.install(stateserver);
  system = microsoft.win32.registry.localmachine.opensubkey("system").opensubkey("currentcontrolset").opensubkey("services");
  service = system.opensubkey(this.serviceinstaller1.servicename, true);
  service.setvalue("description", "服务描述");
  //添加额外的键
  config = service.createsubkey("additionalinformation");
  }
  catch(exception e)
  { 
  }
  }
  public override void uninstall(idictionary stateserver)
  {
  microsoft.win32.registrykey system,
  currentcontrolset,
  services,
  service;
  try
  {
  system = microsoft.win32.registry.localmachine.opensubkey("system");
  currentcontrolset = system.opensubkey("currentcontrolset");
  services = currentcontrolset.opensubkey("services");
  service = services.opensubkey(this.serviceinstaller1.servicename, true);
  //删除额外的键
  service.deletesubkeytree("additionalinformation");
  //...
  }
  catch(exception e)
  {
  }
  finally
  {
  base.uninstall(stateserver);
  }
  }

  注意这些代码是在projectinstaller 文件中的。

  也许有更好的办法,望大家指教

本文作者:
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册