制作Windows服务和安装程序(C#版)

本文详细介绍了如何使用C#在Visual Studio 2005中创建Windows服务程序,包括创建服务项目、将安装程序添加到服务程序、设置服务属性、编程实现服务程序功能的启动和停止,以及在安装服务后自动启动服务的方法。同时,阐述了如何制作安装程序并实现Windows服务程序的安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、创建服务项目:

       打开VS 2005 编程环境,在C#中新建Windows服务程序

 

2、将安装程序添加到服务程序:

       在服务项目中双击新建的服务类,默认情况下是Service1.cs,出现Service1.cs设计界面,鼠标右键选择“添加安装程序”,系统自动生成项目安装类ProjectInstaller.cs,安装类中添加了两个安装组件:ServiceProcessInstall和ServiceInstall,并且服务的属性被复制到组件中。

 

3、设置服务属性:

       ① 设置登录用户:将ServiceProcessInstaller类的Account属性改为LocalSystem,这样服务可以在任意用户登录系统系统时,自启动服务。      

       ② 设置服务启动方式:单击ServiceInstaller组件将StartType属性设置为Automatic(随系统启动)

       ③ 设置Windows服务名:设置ServiceInstaller组件中的ServiceName的属性为服务的名称,如上图所示的“Service1”

       ④  设置服务描述、服务名称:在ServiceInstaller组件中设置Description和DisPlayName的值分别显示服务的描述和服务名称。

 

4、编程实现服务程序功能的启动、停止:打开Service1.cs类的代码,在服务启动、停止方法中分别添加服务程序的启动、停止需对应的功能代码。

        protected override void OnStart(string[] args)

        {

            //TODO: 在此处添加代码以启动服务。

            _WindowsService.StartIni();

        }

        protected override void OnStop()

        {

           //TODO: 在此处添加代码以执行停止服务所需的关闭操作。

            _WindowsService.ReleaseIni();

        }

 

5、在安装服务后自动启动服务,注意代码中 ServiceName应与上面的一致,本例为“Service1”

       private void serviceInstaller1_AfterInstall(object sender, InstallEventArgse)

       {

            try

            {

                ServiceControllerserviceController = new ServiceController();

                serviceController.MachineName ="127.0.0.1";

                serviceController.ServiceName =" Service1";

                serviceController.Start();

            }

            catch(Exception er)

            {

                //NCLogger.GetInstance().WriteException(er);

            }

       }

 

       public overridevoid Uninstall(System.Collections.IDictionary savedState)

       {

            try

            {

                ServiceControllerserviceController = new ServiceController();

                serviceController.MachineName ="127.0.0.1";

                serviceController.ServiceName =" Service1";

                if(serviceController.CanStop)

                {

                    serviceController.Stop();

               }

            }

            catch(Exception e)

            {

                //NCLogger.GetInstance().WriteException(e);

            }

 

            base.Uninstall(savedState);

        }

 

 

制作安装程序

 

1、创建安装项目:

       在C#中新建项目,选择其他类型项目—安装和部署—安装项目,取名“TEST_WindowsService_Setup”。

 

2、添加项目主输出:在安装项目中鼠标右键,选择“添加—项目输出—主输出”在项目下拉框中选择上边建立的“TEST_WindowsService_Service”服务。

 

3、获取依赖项:在检测到的依赖项,鼠标右键选择“刷新依赖项”,获取项目依赖项。


4、在解决方案资源管理器中右键点击安装程序,如本例的"TEST_WindowsService_Setup",选择“视图”下的“自定义操作”,系统弹出自定义操作界面,在“安装”、“提交”、“回滚”和“卸载”下右键添加“主输出文件”,编译完成后即可实现Windows服务程序的安装。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值