C#Windows服务程序之添加安装程序图解

开发 后端
C#Windows服务程序之添加安装程序图解向你详细介绍了C#Windows服务程序之添加安装程序的具体细节和操作示意图,希望对你有所帮助。

C#Windows服务程序之添加安装程序的前言:最近一直在搞Windows服务,也有了不少经验,感觉权限方面确定比一般程序要受限很多,但方便性也很多。像后台运行不阻塞系统,不用用户登录之类。哈哈,扯远了,今天讲一下那个怎么给Windows服务做个安装包。为什么做安装包?当然是方便了,不用每次调用InstallUtil,还有,就是看上去正规些。

C#Windows服务程序之添加安装程序的概念不多说了,先来看看怎么做吧。首先,当然是创建一个Windows服务的项目。这个大家应该都知道怎么做(这都不明白的留言问我),然后要给服务“添加安装程序”,如图1所示:(这一步和自己用InstallUtil注册是完全一样的)

添加安装程序 

(C#Windows服务程序之添加安装程序图1)

添加后,会出来一个serviceProcessInstal1,还有serviceInstaller1,如果你一个项目里有两个服务的话,这里就会有两个serviceInstaller类,如图2:

两个serviceInstaller类 

(C#Windows服务程序之添加安装程序图2)

图3是serviceProcessInstal1的属性页,其中Account就是指用于运行服务的帐户,如果只是用于本地,可以选LocalSystem(本地系统),这是本地的***权限,并可以选择和桌面交互功能。如果安全性考虑的话,请选择适合自己的。

安全性考虑 

(C#Windows服务程序之添加安装程序图3)

图4是serviceInstaller2的属性页,其中DisplayName就是显示在Windows服务管理器中的服务名称,Desciption是服务的说明。下面ServiceName是服务内部名称。最关键的是下面的StartType,是指服务的启动方式,是自动,手动和禁用三种。

自动,手动和禁用三种 

(C#Windows服务程序之添加安装程序图4)

下面,就是今天讲的重点了,点击“文件”->“添加”->“新建项目”(如图5)

新建项目 

(C#Windows服务程序之添加安装程序图5)

选择“其他项目类型”->“安装和部署”里的“安装项目”(如图6)

安装项目 

(C#Windows服务程序之添加安装程序图6)

建好项目后,右键刚才新建的安装项目,选择“视图”->“文件系统”(如图7)

文件系统 

(C#Windows服务程序之添加安装程序图7)

这时,打开了文件系统属性。可以看到,屏幕左边,出现了三项文件系统的内容,因为我们是Windows服务程序,不需要在开始菜单和桌面上放置图标,所以我们直接右键“应用程序文件夹”->“添加”->“项目输出”(如图8)

项目输出 

(C#Windows服务程序之添加安装程序图8)

在出来的对话框中,选择“主输出”和“Release XXX”,这个由你的项目属性决定,一般选择Release Any CPU。(如图9)

选择Release Any CPU 

(C#Windows服务程序之添加安装程序图9)

系统会自动把项目输出文件,也就是Windows服务程序的EXE文件和所有引用的类库文件都列在中间的框中。这时,为了方便安装,我们把InstallUtil.exe和两个我自己写的批处理文件一起添加进去。添加方法类似上面,只是把“项目输出”改成“文件”。结果如图10所示:

”改成“文件” 

(C#Windows服务程序之添加安装程序图10)

接下来,就该配置一下安装过程,让安装程序自动给我们安装和卸载Windows服务。

还是右键安装项目,选“视图”->“自定义操作”,如图11:

自定义操作 

(C#Windows服务程序之添加安装程序图11)

左边的窗口换到了自定义操作的视图了,右键“安装”->“添加自定义操作”(图12),出现的对话框中,选中“应用程序文件夹”,再选中其中的InstallUtil.exe文件(图13),添加好后,会在安装操作下面多出一个InstallUtil.exe的分支。点一下它,在右边的属性页里,设置Arguments=“ 你的Windows服务文件名”,如图14(注意文件名前要留一个空格)

你的Windows服务文件名 

(C#Windows服务程序之添加安装程序图12)

你的Windows服务文件名 

(C#Windows服务程序之添加安装程序图13)

你的Windows服务文件名 


(C#Windows服务程序之添加安装程序图14)

同样,在提交和卸载处,也添加InstallUtil.exe,不过属性页中设置Arguments=“ -u 你的Windows服务文件名”,这样,安装程序就能实现自动安装注册和卸载Windows服务了。(如图15)

你的Windows服务文件名 

(C#Windows服务程序之添加安装程序图15)

接下来就该让Windows服务和安装项目同时被编译了。右键点击解决方案,选择“属性”(如图16),在出来的对话框中,勾上安装项目后面的生成。(如图17)

选择“属性” 

(C#Windows服务程序之添加安装程序图16)

选择“属性” 

(C#Windows服务程序之添加安装程序图17)

***,右键解决方案,选择“生成解决方案”,这时vs会将两个项目都会编译出来。不过要注意一点:项目的启动顺序一定要Windows服务项目在前,安装项目在后。

要Windows服务项目在前,安装项目在后 

以上是我个人的一点小小经验,如果有同行愿意指教或者交流,请留言联系。

C#Windows服务程序之添加安装程序的基本内容就向你介绍到这里,希望对你学习和了解C#Windows服务程序之添加安装程序有所帮助。

【编辑推荐】

  1. C#windows服务中的Timer控件的使用
  2. C#Windows服务介绍
  3. C#创建Windows服务程序浅析
  4. C#Windows服务之添加文件监视服务
  5. C#创建Windows服务学习的一点体会
责任编辑:仲衡 来源: cnblogs
相关推荐

2009-08-14 16:48:39

C#Windows服务

2009-08-14 15:47:18

C#Windows服务

2009-08-14 15:19:38

Windows服务程序Windows服务

2009-08-14 15:06:08

Windows服务程序

2009-08-14 14:25:09

Windows服务程序

2009-08-14 17:43:20

C#Windows应用

2009-08-14 17:55:52

C#Windows应用

2009-08-14 11:15:19

文件监视C#Windows服务

2009-08-14 14:17:16

C#Windows服务

2009-08-14 14:45:03

C#Windows服务

2009-08-14 16:24:00

Windows服务程序

2009-08-14 15:54:50

Windows服务程序C#Windows服务

2009-08-14 17:27:30

C#Windows应用

2009-08-14 10:50:09

Windows服务介绍

2009-08-14 18:04:59

C#Windows应用

2009-08-14 17:51:32

C#Windows应用

2009-08-14 17:36:20

C#Windows应用

2009-08-14 14:53:55

WINDOWS服务交互

2009-08-14 18:00:22

C#Windows应用

2009-08-14 16:13:25

C#windows服务
点赞
收藏

51CTO技术栈公众号