c# 开发windows服务程序。

一个简单的服务程序示例。

归纳了几点。有不足之处,请赐教。

一、创建服务程序 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]

C# 生成windows 服务打包程序的更多相关文章

  1. topshelf生成Windows服务

    一.  概述 Visual C# 工程中选取 Windows 服务(Windows Service)选项,可以创建Windows服务程序,这种开发方式对于开发来说不方便调试,今天介绍另外一种生成Win ...

  2. 给windows服务打包,并生成安装程序

    一. 添加新建项目-->安装部署-->安装项目 二.安装程序上-->右键视图-->文件系统-->应用程序文件夹-->右键-->添加项目输出 选择做好的wind ...

  3. C#生成Windows服务

    1. 新建一个项目,或者从选择当前解决方案--右键-添加--新建项目 2. 选择Visual C#项目-->Windows 服务,填写要创建的服务名称(修改默认的WindowService1成为 ...

  4. C# 创建Windows Service(Windows服务)程序

    本文介绍了如何用C#创建.安装.启动.监控.卸载简单的Windows Service 的内容步骤和注意事项. 一.创建一个Windows Service 1)创建Windows Service项目 2 ...

  5. .NET创建一个即是可执行程序又是Windows服务的程序

    不得不说,.NET中安装服务很麻烦,即要创建Service,又要创建ServiceInstall,最后还要弄一堆命令来安装和卸载. 今天给大家提供一种方式,直接使用我们的程序来安装/卸载服务,并且可以 ...

  6. 安装、部署... Windows服务 .net程序 安装 命令

    @echo offInstallutil.exe 程序目录 F:\test\TestWindows.exe 服务程序目录@sc start "服务名称"@sc config &qu ...

  7. C# windows服务,解决应用程序开机自启问题

    最近在东营做一个超市购物的项目,业务体量很小,是仅供内部员工使用的内网应用程序,其中涉及一个商品数据同步的winform应用程序,有一个问题就是服务器重启后,必须登录服务器操作系统,手动启动才行,于是 ...

  8. 一次使用Python连接数据库生成二维码并安装为windows服务的工作任务

    最近有一个需求,在现有生产系统上的人员库中增加一个此人员关键信息的二维码,支持文字版和跳转版两种方式,与报表工具关联,可打印.以windows服务方式,定时检查,只要发现某人员没有此二维码信息,就生成 ...

  9. C#穿透session隔离———Windows服务启动UI交互程序

    在Windows服务里面启动其他具有界面的应用程序,需要穿透session隔离,尝试了很多种方法,都可行,现在一一列举下来,并写下几个需要注意的地方. 需要注意的地方 首先要将服务的Account属性 ...

随机推荐

  1. Eclipse中jsp、js文件编辑时,卡死现象解决汇总

    使用Eclipse编辑jsp.js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲.将所有用过的方法罗列如下: 1.取消验证 windo ...

  2. 1.2 《硬啃设计模式》 第2章 学习设计模式需掌握的UML知识

    要看懂设计模式,你需要懂类图(Class Diagram),也需要懂一点对象图(Object Diagram),下面介绍一些UML的必要知识,以便你学习设计模式. 属性.操作 下图简单介绍类的属性和操 ...

  3. Ubuntu/Windows双系统修复引导

    Ubuntu/Windows双系统修复引导   首先说明:在Windows存在的前提下安装Ubuntu(或者Ubuntu系列)是不需要修复引导的.因为grub会自动搜索存在硬盘中的系统.   而在Ub ...

  4. JavaScript Patterns 5.5 Sandbox Pattern

    Drawbacks of the namespacing pattern • Reliance on a single global variable to be the application’s ...

  5. Java Security:Java加密框架(JCA)简要说明

    加密服务总是关联到一个特定的算法或类型,它既提供了密码操作(如Digital Signature或MessageDigest),生成或供应所需的加密材料(Key或Parameters)加密操作,也会以 ...

  6. SQL Server 中的逻辑读与物理读

    首先要理解逻辑读和物理读: 预读:用估计信息,去硬盘读取数据到缓存.预读100次,也就是估计将要从硬盘中读取了100页数据到缓存. 物理读:查询计划生成好以后,如果缓存缺少所需要的数据,让缓存再次去读 ...

  7. SQL查询数据库中所有指定类型的字段名称和所在的表名

    --查询数据库中所有指定类型的字段名称和所在的表名 --eg: 下面查的是当前数据库中 所有字段类型为 nvarchar(max) 的字段名和表名 SELECT cols.object_id , co ...

  8. Filestream 使用简单步骤

    为了减少大文件在数据库的存储对数据库的读写效率造成的压力,多了FileStream这一个功能,下面介绍一下如何快速使用FileStream. 1.开启SqlServer实例对FileStream 的开 ...

  9. iOS极光推送,两次Bundleid不一致( 开发证书没有通过验证 是否重新上传证书)的解决方案

    极光在配置ios端推送时,需要上传p12证书,如果遇到如下图:: 证书上传未通过的原因一般有: 1.当前上传的p12证书密码输入有误: 2. 证书导出的时候展开了证书,把个人私钥导了出来,导证书的时候 ...

  10. ELF Format 笔记(八)—— 符号的类型和属性(st_info)

    我是天空里的一片云,偶尔投影在你的波心,你不必讶异,更无须欢喜,在转瞬间消灭了踪影.你我相逢在黑夜的海上,你有你的,我有我的,方向:你记得也好,最好你忘掉,在这交会时互放的光亮! —— 徐志摩·偶然 ...