给windows服务添加描述

王朝system·作者佚名  2006-01-09
宽屏版  字体: |||超大  

最近写了个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 文件中的。

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有