发布Windows Service的方法

1、 在默认窗口Service1中右键Add Install,自动生成两个类。

2. 修改serviceInstaller1的属性:

   a)ServiceName =”FirstService”;   //设置服务名称

   b)StartType = Automatic;      //启动的模式有三种:“自动”、“手动”、“禁用”。事实上,在“我的电脑”的“管理”->“服务”中,还有一种模式:“自动(延迟启动)”

   c)Modifiers=public;

还有一些属性,比如DisplayName对应下图中的“显示名称”,ServiceName对应下图中的“服务名称”,而(Name)则对应,这些属性都是可以进行相应的修改的

  

3. 设置serviceProcessInstaller1组件的属性

  1) Account = LocalSystem;  //为最大的权限此属性还包括:LocalService、networkService、User(默认状态,如果使用User,则在安装的时候需要提供用户名和密码),如需要详细了解该属性,可以参照:

http://technet.microsoft.com/zh-cn/system.serviceprocess.serviceprocessinstaller.account(VS.90).aspx

  2) Modifiers=public;

4、修改服务的名称:打开ProjectInstaller.Designer.cs文件,修改this.serviceInstaller1.ServiceName 对应的值即可。

5. 生成解决方案:选择release模式右键生成解决方案,则在相应的路径当中就会出现MyFirstService.exe文件(使用DEBUG模式生成的似乎不能安装)。

6.使用installutil安装新建好的MyFirstService,方法如下:

  一、打开C:\Windows\Microsoft.NET\Framework64\v4.0.30319目录,找到InstallUtil.exe文件。

  二、把该文件复制到你生成服务的根目录下。

    

  三、使用命令:在cmd中定位到你的服务所在的目录(即InstallUtil.exe所在的目录),使用InstallUtil 服务名.exe进行安装。

    

四:用命令:installutil  /u  服务的名称.exe,点击运行,即可卸载服务。

五:使用命令打开services.msc即可找到你的服务啦。

以下有几个需要注意的问题:

第一:上述二的“服务绝对路径”犹如:e:\新建文件夹\test\MyFirstService\MyFirstService\bin\release\MyFirstService.exe,在这个地方需要注意的是:必须选择release下生成solution。默认是在debug下生成solution。

第二:针对window7用户,在安装的过程中容易出现的几个错误:

  • 使用的电脑不是使用系统管理员的账号登录,则会出现下面的错误。(我已经做过测试),特别是在使用window7的用户特别需要注意,系统默认system账号是“禁用”模式。

  

  • 第二种错误的可能就是服务已经存在,则会出现下面的错误

  

为了避免这种错误的发生,我们应该在安装服务的时候首先进行第三步(即如果可以的话,首先卸载已存在的服务)。

原文参考:http://www.cnblogs.com/YanPSun/archive/2010/05/22/1741381.html

最新文章

  1. HTML5简介
  2. StackExchange.Redis加载Lua脚本进行模糊查询的批量删除和修改
  3. T-SQL 基础学习 04
  4. 数据结构之KMP算法next数组
  5. 修改hive分区表,在分区列前增加一个字段
  6. 【SFTP】使用Jsch实现Sftp文件下载-支持断点续传和进程监控
  7. [SAP ABAP开发技术总结]结构复用(INCLUDE)
  8. Android 使用AIDL调用外部服务
  9. js 全选 反选
  10. javascript 小日历
  11. Upgrade Guide
  12. EventLog实现事件日志操作
  13. Joomla必备模块(转自joomla8)
  14. Eclipse 编译StanfordNLP
  15. MVC 中使用 SignalR 实现推送功能
  16. IOS中KVO模式的解析与应用
  17. kotlin 第一个Android项目
  18. oracle如何调试存储过程
  19. 使用Swagger2时遇到的问题
  20. Structured Streaming编程向导

热门文章

  1. JPanel JScrollPanel
  2. Apache Beam是什么?
  3. 下拉列表 通过option 改变div的内容
  4. 微服务架构day01
  5. vue里router-link标签设置动态路由的3个方法
  6. 高效率php注意事项
  7. 04-jQuery的属性操作
  8. jquery的ajax及注意事项
  9. docker相关操作
  10. poj 2505 A multiplication game