.net Windows服务程序和安装程序制作

最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作不成功,可能是开发环境或项目配置的不同,这里把自己成功制作的方式贴出来,一方面留给自己,一方面也希望能给遇到同样问题绝望中不能自拔、以致失去灵魂的路人甲,路人乙一还魂丹 . . .

IDE :WIN2003  VS2008  SQL2005

一、创建window服务项目

首先我们建一个window服务项目 :解决方案(右击)——> 增加 ——> 新建项目——>项目类型选择Windows——>模板选择Windows服务 ,如图:

二、编写Window服务程序

创建后会生成两个文件 Program.cs 和 Service1.cs ,其中 program.cs 这个文件不用动,里面已自动生成好了。我们在Service1.cs里增加所要的操作,里面有两个重写方法 OnStart 和 OnStop ,OnStart 方法表示服务启动的操作,OnStop 表示服务停止的操作,下面写了一个简单示例 :当服务启动后,调用远程一个WebService的Hello函数,并把返回的值写入到一个文件中。code如下:

代码

例子很简单,方便理解,上面通过线程,每5秒执行一次操作,到这里,我们的服务以及服务实现的功能就已经写好了,下面怎么让客户端安装我们的服务呢?这里才是我写这篇文章的目的!先要增加一个安装程序类,切换到视图窗口,右击——>增加安装程序,便会增加一个程序安装类文件 ProjectInstaller.cs,如图:

这里serviceProcessInstaller1 和 serviceInstaller1 有几个重要属性要设置,serviceInstaller1 中的StartType要设置成Automatic,表示随机启动,ServiceName表示服务名称,Description 表示服务的描述, DisplayName 表示显示名称。serviceProcessInstaller1 中的Account要设置成LocalSystem,表示本地系统帐号

Window服务的安装有两个方式:

一、命令安装

 
通过命令窗口,执行 InstallUtil.exe 服务路径 可安装Window服务,你是不是觉得我在扯,这么长的命令怎么看?怎么记住?可以想想如果客户端是一个不懂程序的人是不可能自己完成安装的,那么能不能制作一个简单有效,点点按钮可以安装的呢,答案是肯定的 ——> 安装程序制作
二、安装程序
安装程序制作 :解决方案(右击)——> 增加 ——> 新建项目 ——> 项目类型选择安装和部署 ——>  模板选择安装项目   如图 :
创建后,安装项目(右击) ——> 视图 ——> 文件系统 如图:

由于我们是安装服务,就不需要用户桌面和程序菜单了,直接应用程序文件夹(右击)——> 增加 ——> 项目输出 入图 :

上面有两点需要注意 ,一 项目选择中选择要安装的服务, 二 项目选择下面要选择主输出,选择好后确定,这一步增加了安装程序的文件夹,下一步就是给这个安装程序增加操作,这里我们增加两个基本操作,一个是安装,一个是卸载。安装项目(右击) ——> 视图 ——> 自定义操作 如图

上面可以看到有安装,提交,回滚,卸载等操作,我们先增加安装操作,安装(右击)——> 增加自定义操作,会弹出一个对话 如图:

选择应用程序文件夹,并选中之前增加的主输出项,确定,这样这个安装程序就增加了安装的操作,同样按照这样的方式增加卸载操作,卸载与安装唯一不同的是需要设置一个命令参数,不可少,如图:

这里 Arguments 里输入 /u  表示卸载命令相当于 InstallUtil.exe /u 服务路径  , 到这里 ,我们的安装程序就已经制作好了,生成安装程序项目,将会生成 setup.exe 和 setup.msi 安装文件,拷贝到客户端,点击setup.exe 就像安装QQ一样安装我们的服务,实际上比QQ好多了,QQ还有广告,我们可是纯绿色的!

转载于:https://www.cnblogs.com/jearay/p/3480592.html

转:c# 安装包制作相关推荐

  1. 安装包制作工具 SetupFactory使用1 详解

    Setup Factory 是一个强大的安装程序制作工具.提供了安装制作向导界面,即使你对安装制作不了解,也可以生成专业性质的安装程序.可建立快捷方式,也可直接在 Windows 系统的注册表加入内容 ...

  2. 程序安装包制作工具 v1.0官方版

    2019独角兽企业重金招聘Python工程师标准>>> 名称:程序安装包制作工具 v1.0官方版 版本:1.0更新日期:2016-06-27 大小:2.9MB软件语言:简体中文 软件 ...

  3. linux免安装nginx,Nginx免安装包制作工具:Nginx-portable

    最近在捣鼓离线版Nginx,本来打算制作成rpm包,可惜技术不到位,只能改变思路,把Nginx编译成免安装的二进制包,类似于Tomcat,直接去start就能使用,所以找到了nginx-portabl ...

  4. Siliverlight和xap客户端一起捆绑安装包制作方法

    Siliverlight和xap客户端一起捆绑安装包制作方法 最近在做一个应用,Siliverlight5+C#制作的一个小客户端应用程序,但在实际使用过程中,经常有用户提示说SiliverLight ...

  5. 兮米安装包制作工具图文教程集锦电子书

    兮米安装包制作工具是俺用过最好用的软件打包工具,操作简单,功能强大~ 点击压缩包文件里的index.htm 打开电子书. https://pan.baidu.com/s/1mnOd7lbD_Qqbyc ...

  6. 【转】VS2010安装包制作

    最近对软件安装包制作研究了一下,下面记录了一种比较简单,不用写代码的方法. 1.New Project---->Other Project Types ---->Visual Studio ...

  7. 超详细的软件安装包制作打包流程(C/S客户端)

    C/S客户端开发完成,需要将程序交付给用户,直接压缩发给用户是可以的(只是有点不专业),如果能有一个比较好看的安装界面,那档次就不一样了. 本文介绍怎么使用Adanced Installer 17.9 ...

  8. C#软件winform程序安装包制作

    转自:http://jingyan.baidu.com/article/b2c186c8e26f2ac46ef6ff3a.html 使用vs2010 winform程序开发的软件的人比较多,程序的开发 ...

  9. NSIS使用教程(安装包制作安装文件教程,如何封装打包文件) 中文版

    NSIS使用教程(安装包制作安装文件教程,如何封装打包文件) 中文版 原文:NSIS使用教程(安装包制作安装文件教程,如何封装打包文件) 中文版 nsis中文版(Nullsoft Scriptable ...

  10. 魅族M8软件之CAB安装包制作篇

    研究了好几天QT-WINCE程序编写,终于有点眉目了,有点小兴奋,可是还有个问题就是怎么进行打包发布啊?? 随兴上网上找了下,还真有 ,不过有的说的让人头晕目眩的,分不清头绪,幸运的是我终于找到了个带 ...

最新文章

  1. 明晚直播丨上海名师王召强:高考大变脸后,中小学语文怎么学?
  2. php install with mysql on w2k3 and IIS mannually
  3. python __init__.py
  4. OPPO Find X5系列上架预约:全球首款天玑9000旗舰
  5. Java学习笔记基础(中)
  6. mysql gtid 主键冲突_MySQL Last_SQL_Errno: 1062----经典错误,主键冲突
  7. bt5 mysql字典,backtrack5下载
  8. 对垃圾分类工作作出重要指示PPT模板
  9. 闭式系统蒸汽管径推荐速度_蒸汽管道的设计选型
  10. 一文看懂PPP协议——PPP协议简介
  11. LightSwitch 社区内容汇总 – 2012年9月
  12. Ubuntu 各版本代号对照表
  13. 游戏服务器需要什么配置?
  14. python基础之浅谈布尔类型的变量
  15. Git+码云+IDEA联合开发(附图详细步骤)
  16. 生产车间管理使用ERP系统提高企业管理水平
  17. LaTeX 进阶语法
  18. python写爬虫之提取网页的内容(筛选)_Python网络爬虫项目:使用requests获取网页,通过BeautifulSoup提取数据...
  19. IT忍者神龟只Photoshop简单的给人像头发丝抠图处理
  20. 白平衡算法简单原理以及灰色世界、完美反射实现

热门文章

  1. mysql为什么要重建索引_MySQL表索引为什么会遭破坏?
  2. python︱matplotlib使用(读入、显示、写出、opencv混用、格式转换...)
  3. 呼叫中心IVR系统的介绍
  4. Go语言中的结构体 (struct)
  5. 1041: C语言程序设计教程(第三版)课后习题9.8
  6. 使用阿里云容器服务Jenkins 2.0实现持续集成之the tag you want篇(updated on 2017.09.06)...
  7. MongoDB学习:关闭mongod方式
  8. Mysql笔记——DCL
  9. source命令执行SQL脚本文件
  10. Android 学习 笔记_07. XML文件解析