博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2005 创建Windows服务程序,打包成安装文件
阅读量:5922 次
发布时间:2019-06-19

本文共 1579 字,大约阅读时间需要 5 分钟。

一、创建服务程序

1. 菜单栏“文件”--->“新建”--->“项目”,在项目类型中选择“windows”,模板中--->“windows 服务”。项目名称任意起。

  新项目中会创建 Program.cs , Service1.cs及其他的文件或文件夹

2. 编写程序 略。
二、添加服务应用程序
1. 在解决方案中,打开要向其中添加安装组件的服务的Design视图。(双击Service1.cs即可)

2. 在任意位置,单击右键,在属性窗口中,单击添加安装程序

这时项目中就添加了一个新类 ProjectInstaller ;两个安装组件 ServiceProcessInstaller 和 ServiceInstaller,并且服务的属性值被复制到组件。

修改ServiceInstaller 的 StartType 属性设置为适当的值。

属性值说明

 Manual:服务安装后,必须手动启动。
 Automatic :每次计算机重新启动时,服务都会自动启动。
 Disabled: 服务无法启动。
修改serviceProcessInstaller类的Account属性改为 LocalSystem。

这样,不论是以哪个用户登录的系统,服务总会启动。

三、打包程序,创建服务安装项目

1. 菜单栏“文件”--->“添加”--->“新建项目”

2. 点击“项目类型”--->“其他项目类型”--->“安装和部署”,再在“模板”点击“安装项目”,

点击“确定”.这样在解决方案中会新添加安装项目

3. 在“文件系统”中点击“应用程序文件夹”,右边框变空白,

在右侧空白处右击鼠标,“添加”--->点击“项目输出”,出现一个对话框,点击“确定”

 

4. (可选)再右击鼠标,“添加”--->点击“文件”,选择文件夹中的“bin”文件中的“Debug”文件中的“.exe”,把“.exe”打开。
5. (可选)单击“文件系统”中的“用户的"程序"菜单”,在右边空白处右击鼠标,点击“创建新的快捷方式”,把应用程序文件夹中的“.exe”文件选上,点击确定。
6. (可选)单击“文件系统”中的“用户桌面”,操作如上一步骤。

7. 向安装项目添加自定义操作 .

右击安装项目,指向“视图”,然后选择“自定义操作”。

编辑区出现自定义操作编辑器。

  

在“自定义操作”编辑器中右击“自定义操作”节点,然后选择“添加自定义操作”。

出现“选择项目中的项”对话框。在列表框中双击“应用程序文件夹”将其打开,

 

选择“主输出来自 ***Service(活动)”,然后单击“确定”。

 

主输出被添加到自定义操作的所有四个节点,即“安装”、“提交”、“回滚”和“卸载”。

8. 打包文件

点击菜单栏中"生成"中的“生成***Setup1(包名)”,等页面左下角显示"生成成功"即可

安装项目目录\Debug\ 下会生成 .exe 和 .msi 的安装文件,

注:安装程序属性配置
在“解决方案资源管理器”中,点击***Setup(程序名称),打开程序的属性窗口。

在其中可以配置其属性

1 各个属性都有说明,根据需要自己修改
2 更改其中的默认安装路径?

在“文件系统”的“应用程序文件夹”的属性窗口

DefaultLocation属性中

 默认:[ProgramFilesFolder][Manufacturer]/[ProductName]

 例:修改为D盘的Program Files/的目录下,
 只要将[ProgramFilesFolder]该成D:/Program Files/ 即可。
 修改后的路径为D:/Program Files/[Manufacturer]/[ProductName]

转载于:https://www.cnblogs.com/jtcr/p/9814666.html

你可能感兴趣的文章
Pinpoint-java性能分析最佳实践_开源PaaS Rainbond
查看>>
二叉树相关
查看>>
addRoutes实现动态权限路由菜单
查看>>
mongodb — linux安装mongodb
查看>>
Egret消灭星星
查看>>
ubuntu x64 安装docker-ce
查看>>
【跃迁之路】【434天】程序员高效学习方法论探索系列(实验阶段191-2018.04.15)...
查看>>
es6学习笔记--字符串的扩展、数组的扩展、对象的扩展
查看>>
ActiveMQ集群整体认识
查看>>
【跃迁之路】Java基础练习(并发)(最后更新:2018.04.27)
查看>>
一道mysql查询面试题的思考解决过程
查看>>
vue源码之数据控制视图
查看>>
HTTP系列1 HTTP概述
查看>>
JS 字符串全排列算法及内存溢出
查看>>
WPF:Animation动画--PropertyAnimation属性动画触发的方式
查看>>
JS数据类型& 判断
查看>>
前端面试题总结——HTML(持续更新中)
查看>>
脚本的加载和执行
查看>>
阿里云上到底能运行SAP哪些产品?
查看>>
如何在IDEA上运行Gradle工程
查看>>