C#系统服务安装

转载 http://blog.csdn.net/vvhesj/article/details/8349615

1.1创建WindowsService项目

  导入需要的引用比如System.configuration、System.Web.Service(网站服务)、System.Windows.Forms(应用程序服务)、Newtonsoft.Json(json数据,这个很常用),按自己需要添加。

  添加app.config用于管理配置信息

2.1添加安装程序

  打开Service.cs右键点击,添加安装程序,会自动添加安装程序类,保存下就行了。

  Service.cs的属性需要设置下  1)ServiceName 服务器名,最好用英文。2)StartType设置Automatic自动启动就好了。Disable禁用没人会用吧。Manual手动。

  ProcessInstaller.cs的属性需要设置下  1)Account设置LocalSystem  本地系统就行了。

                        LocalService    充当本地计算机上非特权用户的帐户,该帐户将匿名凭据提供给所有远程服务器。

                        LocalSystem    服务控制管理员使用的帐户,它具有本地计算机上的许多权限并作为网络上的计算机。

                        NetworkService    提供广泛的本地特权的帐户,该帐户将计算机的凭据提供给所有远程服务器。
                        User    由网络上特定的用户定义的帐户。如果为 ServiceProcessInstaller.Account 成员指定 User,

                            则会使系统在安装服务时提示输入有效的用户名和密码,

                            除非您为 ServiceProcessInstaller 实例的 Username 和 Password 这两个属性设置值。

3.1编写代码

  Service.cs服务类写服务启动关闭定时运行的方法

  其他的按正常写代码一样添加类库,写需要的代码。

4.1安装服务

  去bin\debug下面找到service的EXE文件,复制到需要安装的地方,比如windows\System32之类的地方
  输入完整的debug目录下的InstallUtil.exe 空格 输入刚刚复制的service.exe的完整路径,回车进行安装

4.2安装服务

  通过新建项目window安装包进行封装,这个就不讲解了

  http://blog.csdn.net/dyzcode/article/details/6981547 可以看这里

4.3安装服务

  通过在ProcessInstaller.cs添加代码

  1. /// <summary>
  2. /// 安装服务
  3. /// </summary>
  4. /// <param name="stateSaver"></param>
  5. public override void Install(System.Collections.IDictionary stateSaver)
  6. {
  7. Microsoft.Win32.RegistryKey system,
  8. //HKEY_LOCAL_MACHINE\Services\CurrentControlSet
  9. currentControlSet,
  10. //...\Services
  11. services,
  12. //...\<Service Name>
  13. service,
  14. //...\Parameters - this is where you can put service-specific configuration
  15. config;
  16. try
  17. {
  18. //Let the project installer do its job
  19. base.Install(stateSaver);
  20. //Open the HKEY_LOCAL_MACHINE\SYSTEM key
  21. system = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("System");
  22. //Open CurrentControlSet
  23. currentControlSet = system.OpenSubKey("CurrentControlSet");
  24. //Go to the services key
  25. services = currentControlSet.OpenSubKey("Services");
  26. //Open the key for your service, and allow writing
  27. service = services.OpenSubKey(conServiceName, true);
  28. //Add your service‘s description as a REG_SZ value named "Description"
  29. service.SetValue("Description", "<span style="font-family:KaiTi_GB2312;">描述语言</span>");
  30. //(Optional) Add some custom information your service will use...
  31. config = service.CreateSubKey("Parameters");
  32. }
  33. catch (Exception e)
  34. {
  35. Console.WriteLine("An exception was thrown during service installation:\n" + e.ToString());
  36. }
  37. }
  38. /// <summary>
  39. /// 卸载服务
  40. /// </summary>
  41. /// <param name="savedState"></param>
  42. public override void Uninstall(System.Collections.IDictionary savedState)
  43. {
  44. Microsoft.Win32.RegistryKey system,
  45. currentControlSet,
  46. services,
  47. service;
  48. try
  49. {
  50. //Drill down to the service key and open it with write permission
  51. system = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("System");
  52. currentControlSet = system.OpenSubKey("CurrentControlSet");
  53. services = currentControlSet.OpenSubKey("Services");
  54. service = services.OpenSubKey(conServiceName, true);
  55. //Delete any keys you created during installation (or that your service created)
  56. service.DeleteSubKeyTree("Parameters");
  57. //...
  58. }
  59. catch (Exception e)
  60. {
  61. Console.WriteLine("Exception encountered while uninstalling service:\n" + e.ToString());
  62. }
  63. finally
  64. {
  65. //Let the project installer do its job
  66. base.Uninstall(savedState);
  67. }
  68. }

代码添加完成后

添加window service安装的批处理命令

1)在项目添加一个文本文件,更名为install.bat,编辑文件的内容如下:

@echo off
C:\WINDOWS\Microsoft.Net\Framework\v2.0.50727\InstallUtil.exe -i "WindowsService1.exe"
@pause

2)在项目添加一个文本文件,更名为uninstall.bat,编辑文件的内容如下

@echo off
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -u "WindowsService1.exe"
@pause
install.bat即完成安装。

时间: 2024-08-07 10:28:54

C#系统服务安装的相关文章

OpenStack 安装文档(09)-- 文件共享系统服务

文件共享系统服务 - 安装并配置控制节点: 控制节点上操作: 先决条件: 1.数据库相关操作. # mysql -u root -p*** > CREATE DATABASE manila; > GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'localhost' IDENTIFIED BY 'MANILA_DBPASS'; > GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'%' IDENTIFIE

ftp 之 servU 15.1的安装及配置

1. 安装 1.1   下载所需文件 安装文件:SU-FTP-Server-Windows-v15.1.2 注册文件:Patcher v2.3.1 for Serv-U v15.x.x.x 1.2   安装过程 1.2.1        双击安装文件 1.2.2        选择安装语言包 1.2.3        安装向导,下一步 1.2.4        接受许可协议,下一步 1.2.5        安装路径选择,下一步 1.2.6        开始菜单添加快捷方式,下一步 1.2.7

Memcached安装和使用

一 Memcached服务器端的安装 (此处将其作为系统服务安装)  下载文件:memcached 1.2.1 for Win32 binaries (Dec 23, 2006)   1 解压缩文件到c:\memcached   2 命令行输入 'c:\memcached\memcached.exe -d install'    3 命令行输入 'c:\memcached\memcached.exe -d start' ,该命令启动 Memcached ,默认监听端口为 11211  通过 me

MDT2013系列之一 MDT 2013 Update 1安装和部署

环境介绍: 本博文介绍如何使用MicrosoftDeployment Toolkit 2013 Update 1部署Windows 10客户端,实验内容包括安装.配置MDT以及部署Windows 10客户端等内容.MicrosoftDeployment Toolkit 2013 Update 1是一款由微软免费提供的部署Windows 10的工具,您可以通过MicrosoftDeployment Toolkit 2013 Update 1以及WDS在客户端中部署Windows 10.特别提醒,如

Windows Server 2008安装Memcached笔记

分布式缓存系统Memcached简介与实践 缘起: 在数据驱动的web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的虽然已经可以实现对页面局部进行缓存,但还是不够灵活.此时Memcached或许是你想要的. Memcached是什么?Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度. Memcached能缓存什么?通过在内

wiki安装部署

目录 1. 引言... 4 1.1. 目的... 4 1.2. 背景... 4 1.3. 约定... 4 2. Mysql数据库准备... 5 2.1. 安装MySQL. 5 2.2. 建立数据库... 5 3. 下载与安装... 6 3.1. 下载... 6 3.2. 安装confluence. 6 3.2.1. 设定可执行权限... 6 3.2.2. 安装配置... 6 3.2.3. web页面配置... 9 3.2.4. 添加中文字体... 13 3.2.5. 安装中文语言包插件... 1

MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(七)

[周年庆]MyEclipse个人授权 折扣低至冰点!立即开抢>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包的形式可用于WebSphere 6.1,但未开箱即用.本指南将引导您完成安装WebSphere 6.1.功能包和更新. 在本指南中,您将: 安装WebSphere 6.1和更新 在启动时禁用运行WebSphere的Windows系统服务 安装Web服务.EJB功能包和更新 管理您的个人资料 还没有MyEcli

Openstack 安装部署指南翻译系列 之 Manila服务安装(Share Storage)

1.1.1.1. Manila服务安装(Share Storage) 1.1.1.1.1. 服务概述 OpenStack共享文件系统服务(manila)为虚拟机提供文件存储.共享文件系统服务提供了一个管理和配置文件共享的集合.该服务还支持共享类型的管理以及支持共享快照,前提是需要驱动程序支持. 共享文件系统服务由以下组件组成: manila-api 验证请求并将其路由到共享文件系统服务的WSGI应用程序. manila-data 一个独立的服务,其目的是处理数据操作,如复制,共享迁移或备份. m

Windows 10 +Tomcat 8 + jdk 1.8 + 服务注册 + bat自动安装 配置

Windows 10 +Tomcat 8 + jdk 1.8 + 服务注册 + 修改服务启动类型 + bat自动安装 配置方法 1. 从官网下载jdk1.8 和Tomcat 8安装包jdk-8u172-windows-x64.exe (网址:http://www.oracle.com/technetwork/java/javase/downloads/index.html) apache-tomcat-8.5.32-windows-x64.zip (网址:http://tomcat.apache