给windows服务添加描述 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   

    最近写了个Windows服务(Windows Services),安装了以后,觉得和已有的Windows服务不一样,

给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 文件中的,

电脑资料

给windows服务添加描述》(https://www.unjs.com)。

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

最新文章