设为首页 加入收藏

TOP

创建、设置和安装Windows服务(二)
2017-10-11 17:19:58 】 浏览:9791
Tags:创建 设置 安装 Windows 服务
// 停止服务要执行的代码 30 protected override void OnStop() 31 { 32 _mainServ.Stop(); // 停止服务 33 _mainServ = null; // 释放服务资源 34 } 35 } 36 }

7、编译生成Windows 服务程序。

8、上面的Windows 服务项目编译生成的都是 安装包 最终要安装/卸载的对象;接下来就添加一个安装项目用来安装上面的服务,如图:

9、添加工程后,在默认的 视图界面(可通过右击安装项目->视图->文件系统; 打开此视图界面) 右键点击”应用程序文件夹“,选择”添加“->”项目输出“;(这部分也可以参照VS如何添加一个安装项目之类的文章)

在弹出的窗口中选择“主输出”(记得选中项目),点击“确定”。

注意:上面的选择里还有个配置可选,可选项有如图:

如果不选则默认是 (活动),它和需要打包的项目的状态是一致的,如果待打包的项目当前是Debug的,则(活动)代表 Debug Any CPU;

如果你的待打包项目的Release和Debug是不同的,则最好手动选中Debug还是Release(比如待打包项目的Debug是测试用的窗体程序,而Release则是真正要发布的Windows服务程序,这时候最好手动选择)

 

 

10、上面的步骤定义了最后在应用程序文件夹中包含的内容。下面来定义其他方面的内容(设置安装程序执行的同时安装服务到系统服务列表中,很重要)

在项目上点右键,选择 视图->自定义操作:

出来如下的界面,然后在”自定义操作“上点右键,选择”添加自定义操作“:

在弹出的窗口中双击”应用程序文件夹“:

然后选择”主输出来自HelloWorldService(活动)“(这部分要根据自己的程序进行相应的更改),点击”确定“:

选择之后会发现所有的操作下边都添加了刚才选定的项,如下图。做到这一步,就能使安装程序卸载时不仅把程序卸载下来,也能把服务卸载下来(安装的同时真正意义上的安装服务)。

11、接下来在安装项目上点右键,选择”生成“,就能使安装程序正常发布了,成功后会生成两个文件(这里貌似只需要 .msi的文件就可以安装了setup.exe不知道有什么用)。

// 这句话可不看:安装成功后根据你的Windows 服务项目中服务安装程序的配置决定是否需要手动启动服务。

重要提示:如果想要windows服务安装后立刻主动启动可以在Windows Service的ProjectInstaller.cs(添加安装程序)中增加下面的代码:

///// <summary>
        ///// 修改Visual Studio 中 Windows Service的ProjectInstaller.cs中的代码
        ///// 重写安装完成后函数(只功能都已经安装完成,而不是安装窗体已经关闭)
        ///// 实现安装完成后自动启动已安装的程序或启动服务(可能需要管理员权限才有用),看下怎样才能让安装程序必须有管理员权限。(或许可以通过C#本身的代码实现开启服务,而不一定要管理员权限)
        ///// </summary>
        //protected override void OnAfterInstall(IDictionary savedState)
        //{
        //    base.OnAfterInstall(savedState);
        //    MessageBox.Show("是安装完成后才出现的吗?");  // 这个可以执行一个 .bat(net start XXX)来开启Windows服务,不过需要管理员权限;
        //}

 

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Win7 关闭Window update 下一篇MFC U盘检测

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目