为Windows服务项目制作安装程序

来源:互联网 发布:淘宝yoyo大美人 编辑:程序博客网 时间:2024/04/28 08:17

为Windows服务项目制作安装程序



       上篇我们开发的Windows服务程序(MyService)是通过命令行的形式来安装的,这种方式比较繁琐,不利于用户的使用。现在我们制作Windows安装程序,通过它来安装我们的服务。


1、添加安装项目


打开项目MyService,选择“File”——> “Add” ——> “NewProject”



在弹出的对话框中选择Other Project Types ——> Visual Studio Installer ——> Setup Project




填入项目名称,点击【OK】即可


2、项目文件系统


右键点击MyServiceSetup项目,选择View ——> File System,即打开了项目文件系统





我们看到在文件系统窗口中出现了 Application Folder(应用程序目录)、User’s Desktop(用户桌面)、User’s Programs Menu(用户程序菜单)等三个文件夹。


其中,ApplicationFolder 就是我们程序的安装目录,程序、配置文件、批处理文件都可以放在这里面。User’s Desktop是用户桌面,如果程序有界面的话可以在这里放置程序启动的快捷方式。User’s Programs Menu则是在windows“开始”菜单 ——> “所有程序”看到的东西。


(1)在Application Folder 中添加文件



右键点击Application Folder,选择 “Add”——> “Project Output”项目输出

在出来的对话框中,选择“Primary output”主输出



主输出指的就是MyService 编译出来的可执行文件


同时将我们写好的两个批处理脚本start.bat、stop.bat也加进来





start.bat用来手动启动服务程序,stop.bat用来手动停止服务程序


start.bat 内容:

Net Start WriteLog


stop.bat内容:

Net Stop WriteLog

很简单,都只有一行


当然,这两个脚本并不是必需的,在这里添加只是方便后面使用而已。

 

(2)在 User’s Programs Menu 中添加相关文件


右键点击User’sPrograms Menu,选择Add ——> Folder



先创建一个文件夹,命名为MyService(这个文件夹将出现在“开始”——>“所有程序”中)


将ApplicationFolder 中的start.bat和stop.bat的快捷方式拖到User’s Programs Menu下的MyService文件夹中,分别重命名为 Service Start、Service Stop




3、自定义动作


右键点击MyServiceSetup项目,选择View ——> Custom Actions,即可编辑安装程序的自定义动作,包括安装、提交、回滚、卸载等。



右键点击Install——> Add Custom Action




选择 Application Folder



选择主输出,点击【OK】

按同样的操作为Uninstall动作添加主输出,添好后如下所示



修改Uninstall主输出的属性页中的Arguments参数为 /u(“/”前面有一个空格)


这个跟InstallUtil.exe的卸载参数是一样的


4、编译安装项目


右键点击MyServiceSetup项目,选择Build



在 MyService\MyServiceSetup\Debug 目录下即生成了安装程序



双击setup.exe或 MyServiceSetup.msi 即可安装




安装完后,在服务管理器中可以看到我们的服务已经添进去了,但还未启动(要等下次开机时才自动启动)



同时,在“开始”——> “所有程序”中可以找到程序目录



点击Service Start,就可以手动启动服务了。



点击ServiceStop,可以手动停止服务


原创粉丝点击