C# vs2008 创建Windows服务程序,打包成安装文件

C# vs2008 创建Windows服务程序,打包成安装文件
C# vs2008 创建Windows服务程序,打包成安装文件

C# vs2008 创建Windows服务程序,打包成

安装文件

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]

windows服务大全

windows服务大全 一、什么是系统服务 在Windows 2000/XP/2003系统中,服务是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是低层(接近硬件)程序。通过网络提供服务时,服务可以在Active Directory(活动目录)中发布,从而促进了以服务为中心的管理和使用。 服务是一种应用程序类型,它在后台运行。服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、Web服务器、数据库服务器以及其他基于服务器的应用程序。 二、配置和管理系统服务 通过上面的阅读,相信你已对Windows系统服务有所了解,与系统注册表类似,对系统服务的操作,我们可以通过“服务管理控制台”来实现。 以管理员或Administrators组成员身份登录,单击“开始→运行”菜单项,在出现的对话框中键入“Services.msc”并回车,即可打开“服务管理控制台”。你也可以单击“开始→控制面板→性能和维护→管理工具→服务”选项来启动该控制台。 在服务控制台中,双击任意一个服务,就可以打开该服务的属性对话框。在这里,我们可以对服务进行配置、管理操作,通过更改服务的启动类型来设置满足自己需要的启动、关闭或禁用服务。 在“常规”选项卡中,“服务名称”是指服务的“简称”,并且也是在注册表中显示的名称;“显示名称”是指在服务配置界面中每项服务显示的名称;“描述”是为该服务作的简单解释;“可执行文件的路

径”即是该服务对应的可执行文件的具体位置;“启动类型”是整个服务配置的核心,对于任意一个服务,通常都有3种启动类型,即自动、手动和已禁用。只要从下拉菜单中选择就可以更改服务的启动类型。“服务状态”是指服务的现在状态是启动还是停止,通常,我们可以利用下面的“启动”、“停止”、“暂停”、“恢复”按钮来改变服务的状态。 下面让我们来看看3种不同类型的启动状态: 自动:此服务随着系统启动时启动,它将延长启动所需要的时间,有些服务是必须设置为自动的,如Remote Procedure Call(RPC)。由于依存关系或其他影响,其他的一些服务也必须设置为自动,这样的服务最好不要去更改它,否则系统无法正常运行。 手动:如果一个服务被设置为手动,那么可以在需要时再运行它。这样可以节省大量的系统资源,加快系统启动。 已禁用:此类服务不能再运行。这个设置一般在提高系统安全性时使用。如果怀疑一个陌生的服务会给你的系统带来安全上的隐患,可以先尝试停止它,看看系统是否能正常运行,如果一切正常,那么就可以直接禁用它了。如果以后需要这个服务,在启动它之前,必须先将启动类型设置为自动或手动。 单击“依存关系”选项卡,在这里我们可以看到,在顶端列表中指出运行选定服务所需的其他服务,底端列表指出了需要运行选定服务才能正确运行的服务。它说明了一些服务并不能单独运行,必须依靠其他服务。在停止或禁用一个服务之前,一定要看看这个服务的依存关系,

Windows服务列表

Windows服务列表 在优化Windows xp系统时,需要关闭一些不常用的服务,但是在众多的服务项目中,它们是做什么用的?能关吗?这往往困恼很多新手。这里收集到的这篇关于xp系统服务的详细解读资料,希望对需要优化系统的朋友有所帮助。 1、Alerter Alerter(警示器)服务的进程名是Service.exe(即启动这个服务后在后台运行的进程名称,可以通过任务管理器看到,下同)。Alerter服务的功能是,WinXP将系统上发生的与管理有关的事件以警示(Alert)信息传送至网络上指定的电脑或用户,例如当发生打印错误或硬盘即将写满等事件,这类警示信息由WinXP 的警示器服务(Alerter Service)收集、送出。尽管Alerter依存的服务并没有Messenger(信使)服务,但Alerter服务必须依靠后者才能送出信息,故在启动Alerter服务后还必须确定Messenger服务也在工作状态,而接收的电脑也必须启动Messenger服务。由于Alerter服务运行后,服务是用户可以发送“弹出(Pop-up)”信息给其他用户,这些信息有可能被攻击者用来实施攻击,如诱骗用户修改口令等,从而造成安全隐患。同时该服务使得用户账号泄漏,也有可能被攻击者利用来进行口令猜测攻击。所以对于家庭单机用户,甚至对于绝大多数小型的局域网来说,这个功能是完全可禁用的,不仅节省了系统资源和加快启动速度,也提高了机器的安全性。 2、Application Layer Gateway Service 简称“ALG”(应用层网关)的进程名是alg.exe,WinXP Home/Pro默认安装的启动类型为手动。ALG 又被称为代理服务器(Proxy Server),是网络防火墙从功能层面上分类的一种。当内部计算机与外部主机连接时,将由代理服务器担任内部计算机与外部主机的连接中继者。使用ALG的好处是隐藏内部主机的地址和防止外部不正常的连接,如果代理服务器上未安装针对该应用程序设计的代理程序时,任何属于这个网络服务的封包将无法通过防火墙。通俗点说,具体到ALG本身,它就是附带的Internet连接共享/防火墙的具体控管程序,如果你需要启动这二者,这个服务是必备的。当然,只有一台计算机的上网家庭可以考虑禁用这个服务,不过WinXP内置的防火墙效果还是不错的,如果不是坚持要用第三方的防火墙,还是开着它吧。 3、Application Management AppMent(应用程序管理服务)的进程名是Svchost.exe,WinXP Home/Pro默认安装的启动类型为手动,没有任何依存服务关系。从Win2000开始,微软引入了一种基于MSI文件格式(应用程序安装信息程序包文件)的全新、有效软件管理方案——即应用程序管理组件服务(Application Management),它不仅管理软件的安装、删除,而且可使用此项服务修改、修复现有应用程序,监视文件复原并通过复员排除基本故障等。通常这个服务我们保持其默认状态较好。 可能许多朋友都有印象,当年ACDSee4.0刚发布时,由于安装制作上的考虑不周,并没有考虑到那个时候大多数人的系统还并不支持MSI安装格式,结果只得又去下载安装一个名为Windows Installer的MSI 辅助文件才解决问题。通常以MSI文件格式安装的软件十分好认,比如说Office XP,当你安装后再次运行

Microsoft_Visual_Studio入门经典教程资料

写在前面 在我还在上学的时候,我选择了C++,最初我用VC6作为我的IDE,我看过很多本C++的教材,有的适合我,有的不适合我,其中有一本叫《Visual C++ 2005入门经典》的书帮了我不少的忙。因为通常的C++教材都只会介绍C++的语法什么的,很少会告诉我们如何去编译、运行,告诉我们什么是控制台程序,什么事Win程序,什么是GUI程序,C++能干什么,VC和C++的区别是什么。现在有很多的朋友应该也有这些问题吧? 学C++用C++也有几年了,算不上熟悉,算是初窥门径吧,我想我应该做点什么帮助一下那些和曾经的我一样困惑的朋友,特别是学生朋友,告诉他们他们所困惑的问题的答案。记得我学C++的时候,没有人教,有的时候也走了不少弯路,甚至连调试也不会,也不知道可以通过看调用堆栈看调用次序,还自己慢慢的去搜索,好傻啊。 接下来我会做一个《Visual C++ 2010入门教程》系列,用来帮助初学者。刚开始学的时候是很痛苦的,这个我深有体会,特别是身边还没有人能够指导一二的。内容主要涵盖在Windows下面使用C++进行开发的常见内容,Visual Studio 2010的使用,如何创建新项目,如何调试,如果配置项目属性等等,另外还会介绍Visual C++ 2010中新加如的一些内容,包括一些新的STL组建,一些新的语法支持等等。 由于本人水平有限,其中难免有错误,希望大家谅解,如果大家有发现问题还请务必及时指出来,否则误导了他人我就罪不容恕了。 注意,本教程非C++教程,不会教你C++,只会教你如何使用 Visual C++ 2010去练习去学习其它C++教材上面的程序。因此建议大家认真的去看其他的C++教程,在使用Visual C++ 2010实践的时候如果遇到问题可以到这里来参考。推荐《C++ Primer》、《C++程序设计语言》《Visual C++ 2008入门经典》。 第一章:关于Visual Studio、VC和C++的那些事 首先,这三个东西有什么区别呢?VC和C++是相同的吗,有什么区别呢?我刚开始学C++的时候也有这样的问题,在这里我来替大家解释一下他们到底是什么。

用C语言编写Windows服务程序的五个步骤

用C语言编写Windows服务程序的五个步骤 https://www.360docs.net/doc/bc15674607.html,/Article/kfyy/cyy/jszl/200603/3842.html Windows 服务被设计用于需要在后台运行的应用程序以及实现没有用户交互的任务。为了学习这种控制台应用程序的基础知识,C(不是C++)是最佳选择。本文将建立并实现一个简单的服务程序,其功能是查询系统中可用物理内存数量,然后将结果写入一个文本文件。最后,你可以用所学知识编写自己的 Windows 服务。 当初我写第一个NT 服务时,我到 MSDN 上找例子。在那里我找到了一篇Nigel Thompson 写的文章:“Creating a Simple Win32 Service in C++”,这篇文章附带一个 C++ 例子。虽然这篇文章很好地解释了服务的开发过程,但是,我仍然感觉缺少我需要的重要信息。我想理解通过什么框架,调用什么函数,以及何时调用,但 C++ 在这方面没有让我轻松多少。面向对象的方法固然方便,但由于用类对底层 Win32 函数调用进行了封装,它不利于学习服务程序的基本知识。这就是为什么我觉得 C 更加适合于编写初级服务程序或者实现简单后台任务的服务。在你对服务程序有了充分透彻的理解之后,用 C++ 编写才能游刃有余。当我离开原来的工作岗位,不得不向另一个人转移我的知识的时候,利用我用 C 所写的例子就非常容易解释 NT 服务之所以然。 服务是一个运行在后台并实现勿需用户交互的任务的控制台程序。Windows NT/2000/XP 操作系统提供为服务程序提供专门的支持。人们可以用服务控制面板来配置安装好的服务程序,也就是 Windows 2000/XP 控制面板|管理工具中的“服务”(或在“开始”|“运行”对话框中输入 services.msc /s——译者注)。可以将服务配置成操作系统启动时自动启动,这样你就不必每次再重启系统后还要手动启动服务。 本文将首先解释如何创建一个定期查询可用物理内存并将结果写入某个文本文件的服务。然后指导你完成生成,安装和实现服务的整个过程。 第一步:主函数和全局定义 首先,包含所需的头文件。例子要调用 Win32 函数(windows.h)和磁盘文件写入(stdio.h): 接着,定义两个常量:

WINDOWS 2003 SERVER 进程详解

Windows2003Server进程详解 svchost.exe文件对那些从动态链接库中运行的服务来说是一个普通的主机进程名;最基本的系统进程(也就是说,这些进程是系统运行的基本条件,有了这些进程,系统就能正常运行):smss.exe Session Manager csrss.exe子系统服务器进程winlogon.exe管理用户登录services.exe包含很多系统服务lsass.exe管理IP安全策略以及启动 ISAKMP/Oakley(IKE)和IP安全驱动程序。(系统服务) 产生会话密钥以及授予用于交互式客户/服务器验证的服务凭据(ticket)。(系统服务) svchost.exe包含很多系统服务svchost.exe SPOOLSV.EXE将文件加载到内存中以便迟后打印。(系统服务) explorer.exe资源管理器internat.exe托盘区的拼音图标附加的系统进程(这些进程不是必要的,你可以根据需要通过服务管理器来增加或减少):mstask.exe允许程序在指定时间运行。(系统服务) regsvc.exe允许远程注册表操作。(系统服务) winmgmt.exe提供系统管理信息(系统服务)。 inetinfo.exe通过Internet信息服务的管理单元提供FTP连接和管理。(系统服务)tlntsvr.exe允许远程用户登录到系统并且使用命令行运行控制台程序。(系统服务)允许通过Internet信息服务的管理单元管理Web和FTP服务。(系统服务) tftpd.exe实现TFTP Internet标准。该标准不要求用户名和密码。远程安装服务的一部分。(系统服务) termsrv.exe提供多会话环境允许客户端设备访问虚拟的Windows2000Professional 桌面会话以及运行在服务器上的基于Windows的程序。(系统服务) dns.exe应答对域名系统(DNS)名称的查询和更新请求。(系统服务) 以下服务很少会用到,上面的服务都对安全有害,如果不是必要的应该关掉tcpsvcs.exe

C#编写的windows服务用命令行安装的详细步骤

第一步:建立好服务,写好代码 第二步:安装 步骤:win+R -----→CMD -------输入microsoft的framework的相应版本的执行程序位置(如:C:\Windows\https://www.360docs.net/doc/bc15674607.html,\Framework\v4.0.30319\InstallUtil.exe -----图一所示文件)-→空一格再输入你的服务的执行文件的路径(如:D:\zt_documents\服务\SSY.DealerLoginStateService.root\SSY.DealerLoginStateService\SSY.LoginStateService\SSY.LoginSt ateService\bin\Debug\XX.exe(这里的.exe写自己的项目的名称) 图三所示文件)--→回车(如果安装成功可以都到如图2所示的提示)

图一

图二

图三 第三步:启动服务 打开服务管理,找到你自己的服务启动 第四步:卸载 步骤:win+R -----→CMD -------输入microsoft的framework的相应版本的执行程序位置(如:C:\Windows\https://www.360docs.net/doc/bc15674607.html,\Framework\v4.0.30319\InstallUtil.exe -u -----图一所示文件)-→空一格再输入-u -→空一格再输入你的服务的执行文件的路径(如:D:\zt_documents\服务\SSY.DealerLoginStateService.root\SSY.DealerLoginStateService\SSY.LoginStateService\SSY.LoginSt

VS2010-MFC编程入门

VS2010/MFC编程入门之前言 分类标签: 编程入门VC++VS2010MFC 鸡啄米的C++编程入门系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。但是教程中讲的例子只是一个个简单的例程,并没有可视化窗口。鸡啄米在这套VS2010/MFC编程入门教程中将会给大家讲解怎样使用VS2010进行可视化编程,也就是基于窗口的程序。 C++编程入门系列主要偏重于理论方面的知识,目的是让大家打好底子,练好内功,在使用VC++编程时不至于丈二和尚摸不着头脑。本套教程也会涉及到VC++的原理性的东西,同样更重视实用性,让大家学完本套教程以后,基本的界面程序都能很容易编写出来。 VC++简介 VC++全称是Visual C++,是由微软提供的C++开发工具,它与C++的根本区别就在于,C ++是语言,而VC++是用C++语言编写程序的工具平台。VC++不仅是一个编译器更是一个集成开发环境,包括编辑器、调试器和编译器等,一般它包含在Visual Studio中。Visual Studio包含了VB、VC++、C#等编译环境。当然我们在使用VC++ 6.0的时候为了轻便,总是只单独安装VC++ 6.0。但自微软2002年发布Visual https://www.360docs.net/doc/bc15674607.html,以来,微软建立了在. NET框架上的代码托管机制,一个项目可以支持多种语言开发的组件,VC++同样被扩展为支持代码托管机制的开发环境,所以.NET Framework是必须的,也就不再有VC++的独立安装程序,不过可以在安装Visual Studio时只选择VC++进行安装。

VC++版本的选择:VS2010 因为VC++ 6.0以后的版本不再有独立的安装程序,所以鸡啄米在教程中将不会称VC++ 6. 0以后的版本为VC++ 7.0等等,而是用VC++所属的Visual Studio的版本名称代替,比如VS2003。 近些年VC++主要的版本包括:VC++ 6.0、VS2003、VS2005、VS2008和VS2010。 VC++ 6.0占用的系统资源比较少,打开工程、编译运行都比较快,所以赢得很多软件开发者的青睐。但因为它先于C++标准推出,所以对C++标准的支持不太好。举个例子: for(int i=0; i<5; i++) { a[i] = i; } for语句中声明的变量i,对于VC++ 6.0来说,出了for循环仍能使用。但很显然这与C++标准对于变量生存期的规定不符合。

Windows服务

Windows 服务应用程序介绍 Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。有关服务和 Windows 会话的更多信息,请参见MSDN Online 的 Platform SDK 文档中的“About Services”部分。 注意Windows 服务应用程序项目模板和相关的功能在 Visual Basic 和 Visual C# .NET 的标准版中不可用。有关更多信息,请参见Visual Basic 标准版功能或Visual C# 标准版的功能。 通过创建作为服务安装的应用程序,可以轻松地创建服务。例如,假设要监视性能计数器数据并对阈值做出反应。可以编写一个侦听性能计数器数据的 Windows 服务应用程序、部署该应用程序并开始收集和分析数据。 将服务创建为 Microsoft Visual Studio .NET 项目,并在其中定义特定代码,以控制可以发送到服务的命令和接收到这些命令时采取的操作。可以发送到服务的命令包括开始、暂停、继续和停止该服务,以及执行自定义命令。 创建并生成了应用程序后,可以通过运行命令行实用工具InstallUtil.exe 并将路径传递给服务的可执行文件,或通过使用 Visual Studio 的部署功能来安装该应用程序。然后可以使用服务控制管理器启动、停止、暂停、继续和配置服务。这些任务中有许多也可以在“服务器资源管理器”的“服务”节点中或通过使用ServiceController类来实现。 服务应用程序与其他 Visual Studio .NET 应用程序对比 服务应用程序与其他许多项目类型的功能在几个方面有所不同: ?必须将服务应用程序项目创建的已编译可执行文件安装在服务器上,此项目才能以有意义的方式运行。不能通过按 F5 键或 F11 键来调试或运行服务应 用程序;不能立即运行服务或进入并单步执行其代码。相反,必须安装和启动服务,然后将一个调试器附加到服务的进程中。有关更多信息,请参见调试 Windows 服务应用程序。 ?与一些类型的项目不同,对于服务应用程序,必须为其创建安装组件。安装组件在服务器上安装和注册服务,并用 Windows 服务控制管理器为服务创 建一个项。有关更多信息,请参见将安装程序添加到服务应用程序。

visual studio 2010使用教程

visual studio 2010使用教程 在我还在上学的时候,我选择了C++,最初我用VC6作为我的IDE,我看过很多本C++的教材,有的适合我,有的不适合我,其中有一本叫《Visual C++ 2005入门经典》的书帮了我不少的忙。因为通常的C++教材都只会介绍C++的语法什么的,很少会告诉我们如何去编译、运行,告诉我们什么是控制台程序,什么事Win程序,什么是GUI程序,C++能干什么,VC 和C++的区别是什么。现在有很多的朋友应该也有这些问题吧? 学C++用C++也有几年了,算不上熟悉,算是初窥门径吧,我想我应该做点什么帮助一下那些和曾经的我一样困惑的朋友,特别是学生朋友,告诉他们他们所困惑的问题的答案。记得我学C++的时候,没有人教,有的时候也走了不少弯路,甚至连调试也不会,也不知道可以通过看调用堆栈看调用次序,还自己慢慢的去搜索,好傻啊。 接下来我会做一个《Visual C++ 2010入门教程》系列,用来帮助初学者。刚开始学的时候是很痛苦的,这个我深有体会,特别是身边还没有人能够指导一二的。内容主要涵盖在Windows 下面使用C++进行开发的常见内容,Visual Studio 2010的使用,如何创建新项目,如何调试,如果配置项目属性等等,另外还会介绍Visual C++ 2010中新加如的一些内容,包括一些新的STL组建,一些新的语法支持等等。 由于本人水平有限,其中难免有错误,希望大家谅解,如果大家有发现问题还请务必及时指出来,否则误导了他人我就罪不容恕了。 注意,本教程非C++教程,不会教你C++,只会教你如何使用Visual C++ 2010去练习去学习其它C++教材上面的程序。因此建议大家认真的去看其他的C++教程,在使用Visual C++ 2010实践的时候如果遇到问题可以到这里来参考。推荐《C++ Primer》、《C++程序设计语言》《Visual C++ 2008入门经典》。 第一章关于Visual Studio、VC和C++的那些事 第二章安装、配置和首次使用VS2010 本章将帮助大家安装Visual C++ 2010,帮助大家做一些常见的配置,以及第一次使用它来写HelloWord程序。 安装 Visual C++ 2010是属于Visual Studio 2010的一部分,这个在前一章中已经讲解过,实际上Visual C++ 2010也有更多的子版本,正如Windows7有旗舰版、家庭高级版、家庭初

C# Windows服务开发

一、VS2012下开发Windows服务 1、打开VS2012,新建项目,选择Windows服务,此处我以开发一个定时自动发送邮件的服务来做介绍,如下图: 2、创建好后,编译器会自动创建一些文件,其中会有一个Service1类文件,该文件是服务的关键,我们可以将其重命名,这里我将其命名为MainService,如下图: 3、在MainService的后台代码中会自动创建一些方法,包括服务的启动和停止方法等,如下图:

4、将服务启动时要执行的操作放在OnStart方法中,服务停止时要执行的操作放在OnStop方法中 5、在MainService.cs设计器中,单击邮件,选择选择添加安装程序,便会生成一个ProjectInstaller.cs的文件,如图所示: 6、设置ProjectInstaller.cs的属性,切换到属性设置界面 (1)选择serviceInstaller1,并设置相应属性如下图所示:

其中:Description属性用于设置服务安装之后再服务界面上显示的描述信息; DisplayName属性用于设置服务安装之后再服务界面上显示的服务名称; ServiceName属性用于设置服务的名称,此名称必须与ServiceBase类的ServiceName 属性设置的名称一致,该名称用于系统标识此服务,可以理解成DisplayName为ServiceName的别名; StartType属性用于设置服务的启动方式。 (2)选择serviceProcessInster1,设置其属性如下:

此处主要设置Account属性,该属性用来指示运行该服务时的账户类型,一般设置为LocalSystem。 7、到此步一个简单的windows服务就创建好了,编译程序会生成一个EmailService.exe 的可执行文件,接下来便是安装服务了。 Windows服务的安装有多种方式,比如可以再cmd下调用命令来安装,也可以写一个安装程序来安装,此处介绍使用bat批处理来安装。 1、安装Windows服务需要用到InstallUtil.exe程序,该程序位于: C:\Windows\https://www.360docs.net/doc/bc15674607.html,\Framework64\v4.0.30319 .NET4.0 C:\Windows\https://www.360docs.net/doc/bc15674607.html,\Framework64\v2.0.50727 .NET2.0 2、我们可以再批处理命令中直接调用以上目录中的InstallUtil.exe程序,也可以将该程序拷贝到应用程序的目录下,此处我选择奖该程序拷贝到应用程序的目录下,同时将批处理文件也创建在应用程序的的目录下,如下图所示:

Windows服务开发实例

C#Windows服务程序开发实例介绍 C#Windows服务程序开发实例程序的目的和用途: 很多开机启动程序仅仅加在启动项里面,只有登陆后才真正启动。windows服务在开机未进行用户登录前就启动了。正是利用这一点,解决一些服务器自动重启后特定软件也自动启动的问题。 C#Windows服务程序开发1. 新建一个服务项目 visual C#----windows----windows服务; C#Windows服务程序开发2. 添加一个dataset(.xsd),用于存储启动目标的路径,日志路径等。 在dataset可视化编辑中,添加一个datatable,包含两列 StartAppPath 和LogFilePath。分别用于存储目标的路径、日志路径。 我认为利用dataset.xsd存储配置参数的优势在于可以忽略xml解析的具体过程直接使用xml文件。 在dataset中提供了ReadXml方法用于读取xml文件并将其转换成内存中的一张datatable表,数据很容易取出来!同样,WriteXml方法用于存储为xml格式的文件,也仅仅需要一句话而已。 C#Windows服务程序开发3. program.cs文件作为程序入口,代码如下: https://www.360docs.net/doc/bc15674607.html,ing ; https://www.360docs.net/doc/bc15674607.html,ing System.ServiceProcess; https://www.360docs.net/doc/bc15674607.html,ing System.Text; https://www.360docs.net/doc/bc15674607.html,space WindowsServices_AutoStart 5.{ 6.static class Program 7.{ 8./// ﹤summary﹥ 9./// 应用程序的主入口点。 10./// ﹤/summary﹥ 11.static void Main() 12.{ 13.ServiceBase[] ServicesToRun;

Windows可以停止的服务进程

Windows可以停止的服务进程 2009.8.8 今天实验室多出来一台电脑,刚好在我的桌上,我就脸皮厚下默认确实是给俺分配的了,再也不用每天来回背着笔记本了。但可能由因此公用的电脑,运行的速度可想而知了,桌面上一堆的文件夹,启动项也是电脑上装的软件开机时都会自动启动一遍,任务治理器也是有专门多惊奇的进程。 Windows有专门多不重要的服务进程,这些进程能够停止关闭的,有的进程可能100年也用不到。在运行里直截了当输入services.msc命令能够打开服务选项,右击相关服务进程,属性勾选“已禁用”,即可终止。超级兔子或优化大师也有服务查看停止功能。 能够禁用的系统服务进程(zz) Alerter 微软:通知选取的使用者及运算机系统治理警示。假如停止那个服务,使用系统治理警示的程序将可不能收到通知。假如停用那个服务,所有依存于它的服务将无法启动。 补充:一样家用运算机全然不需要传送或接收运算机系统治理来的警示(Administrative Alerts),除非你的运算机用在局域网络上 依存:Workstation 建议:可禁止 Application Layer Gateway Service 微软:提供因特网联机共享和因特网联机防火墙的第三方通讯协议插件的支持 补充:假如你不使用因特网联机共享(ICS) 提供多台运算机的因特网存取和因特网联机防火墙(ICF) 软件你能够关掉 依存:Internt Connection Firewall (ICF) / Internet Connection Sharing (ICS) 建议:已停用 Application Management (应用程序治理) 微软:提供指派、发行、以及移除的软件安装服务。 补充:如上说的软件安装变更的服务 建议:手动 Automatic 更新 微软:启用重要Windows 更新的下载及安装。假如停用此服务,能够手动的从Windows 更新网站上更新操作系统。 补充:承诺Windows 于背景自动联机之下,到Microsoft Servers 自动检查和下载更新修补程序 建议:已停用 ClipBook (剪贴簿) 微软:启用剪贴簿检视器以储存信息并与远程运算机共享。假如那个服务被停止,剪贴簿检视器将无法与远程运算机共享信息。假如那个服务被停用,任何明确依存于它的服务将无

Visual C2010简单教程

《Visual C++ 2010入门教程》系列一:关于Visual Studio、VC和C++的那些事 写在前面 在我还在上学的时候,我选择了C++,最初我用VC6作为我的IDE,我看过很多本 C++的教材,有的适合我,有的不适合我,其中有一本叫《Visual C++ 2005入门经典》的书帮了我不少的忙。因为通常的C++教材都只会介绍C++的语法什么的,很少会告诉我们如何去编译、运行,告诉我们什么是控制台程序,什么事Win程序,什么是GUI程序,C++能干什么,VC和C++的区别是什么。现在有很多的朋友应该也有这些问题吧? 学C++用C++也有几年了,算不上熟悉,算是初窥门径吧,我想我应该做点什么帮助一下那些和曾经的我一样困惑的朋友,特别是学生朋友,告诉他们他们所困惑的问题的答案。记得我学C++的时候,没有人教,有的时候也走了不少弯路,甚至连调试也不会,也不知道可以通过看调用堆栈看调用次序,还自己慢慢的去搜索,好傻啊。 接下来我会做一个《Visual C++ 2010入门教程》系列,用来帮助初学者。刚开始学的时候是很痛苦的,这个我深有体会,特别是身边还没有人能够指导一二的。内容主要涵盖在Windows下面使用C++进行开发的常见内容,Visual Studio 2010的使用,如何创建新项目,如何调试,如果配置项目属性等等,另外还会介绍Visual C++ 2010中新加如的一些内容,包括一些新的STL组建,一些新的语法支持等等。 由于本人水平有限,其中难免有错误,希望大家谅解,如果大家有发现问题还请务必及时指出来,否则误导了他人我就罪不容恕了。 注意,本教程非C++教程,不会教你C++,只会教你如何使用 Visual C++ 2010去练习去学习其它C++教材上面的程序。因此建议大家认真的去看其他的 C++教程,在使用Visual C++ 2010实践的时候如果遇到问题可以到这里来参考。推荐《C++ Primer》、《C++程序设计语言》《Visual C++ 2008入门经典》。 第一章:关于Visual Studio、VC和C++的那些事 首先,这三个东西有什么区别呢?VC和C++是相同的吗,有什么区别呢?我刚开始学C++的时候也有这样的问题,在这里我来替大家解释一下他们到底是什么。

Windows服务编写原理及探讨

Windows服务编写原理及探讨 有那么一类应用程序,是能够为各种用户(包括本地用户和远程用户)所用的,拥有用户授权级进行管理的能力,并且不论用户是否物理的与正在运行该应用程序的计算机相连都能正常执行,这就是所谓的服务了。 (一)服务的基础知识 Question 1. 什么是服务?它的特征是什么? 在NT/2000中,服务是一类受到操作系统优待的程序。一个服务首先是一个Win32可执行程序,如果要写一个功能完备且强大的服务,需要熟悉动态连接库(Dlls)、结构异常处理、内存映射文件、虚拟内存、设备I/O、线程及其同步、Unicode以及其他的由WinAPI函数提供的应用接口。当然本文讨论的只是建立 一个可以安装、运行、启动、停止的没有任何其他功能的服务,所以无需上述知识仍可以继续看下去,我会在过程中将理解本文所需要的知识逐一讲解。 第二要知道的是一个服务决不需要用户界面。大多数的服务将运行在那些被锁在某些黑暗的,冬暖夏凉的小屋子里的强大的服务器上面,即使有用户界面一般也没有人可以看到。如果服务提供任何用户界面如消息框,那么用户错过这些消息的可能性就极高了,所以服务程序通常以控制台程序的形式被编写,进 入点函数是main()而不是WinMain()。 也许有人有疑问:没有用户界面的话,要怎样设置、管理一个服务?怎样开始、停止它?服务如何发出警告或错误信息、如何报告关于它的执行情况的统计数据?这些问题的答案就是服务能够被远程管理, Windows NT/2000提供了大量的管理工具,这些工具允许通过网络上的其它计算机对某台机器上面的服务进行管理。比如Windows 2000里面的“控制台”程序(mmc.exe),用它添加“管理单元”就可以管理本机或其他机器上的服务。

VS2008经典教程与MFC编程示例

Visual Studio2008教程 Visual Studio2008发布后,有大量的https://www.360docs.net/doc/bc15674607.html,爱好者抛弃原来的Visual Studio2005平台转向现在流行的Visual Studio2008平台。但是Visual Studio2008有一个缺点就是需要比较高的硬件配置才能正常平稳的运行,所以到现在为止还有一部分人处于观望中,并没有转向这个平台。然而Visual Studio2008的一些新的功能以及优化性比先前版本有了很大的进步。本篇文章将主要介绍怎样利用https://www.360docs.net/doc/bc15674607.html,去编写一个计算器程序,程序虽然不复杂,但是其中所运用的知识和代码非常具有代表性,在平时开发中也是经常需要用到的。希望对https://www.360docs.net/doc/bc15674607.html,2008的初学者带来帮助。 打开 Visual Studio 2008。在文件 (File) 菜单上,单击新建项目 (New Project)。在新建项目 (New Project) 对话框的模板 (Templates) 窗格中,单击 Windows 应用程序(Windows Application)。单击确定 (OK)。 在Form1窗体中添加一个TextBox1控件和19个Button按钮,详细属性设置请查看以下的表格。 TextBox1 数据显 示框 Button1 0 Button2 . Button3 归零 Button4 无 Button5 = Button6 1 Button7 2 Button8 3 Button9 + Button10 - Button11 4 Button12 5 Button13 6 Button14 * Button15 / Button16 7 Button17 8 Button18 9 Button19 ON Button20 OFF 详细的界面请查看图1

VC编写Windows服务程序

#include #include #include TCHAR szServ iceN ame[] = _T("My TestSer v ice"); DWORD dwThreadID; HANDLE hEvent = INVALID_HANDLE_VALUE; SERVICE_STATUS s tatus; SERVICE_STATUS_HANDLE hServ iceStatus; v oi d Init(); BOOL IsSer v iceInstalled(); BOOL InstallSer v ice(); BOOL U ninstallSer v ice(); BOOL Ser v iceCtrlStart(); BOOL Ser v iceCtrlStop(); v oi d WINAPI Ser v iceMai n(); v oi d WINAPI Ser v iceStrl(DWORD dwOpc ode); v oi d LogEv ent(LPCTSTR pszFormat, ...); //Usuage // Ins tall ser v ice: //TestServ ic e.exe /i nstall // Uninstall ser v ice: //TestServ ic e.exe /unins tall // Start ser v ice: //TestServ ic e.exe /s tart // Stop s erv ic e: //TestServ ic e.exe /s top

Microsoft Visual Studio 2010 入门教程

《Visual C++ 2010入门教程》 写在前面 在我还在上学的时候,我选择了C++,最初我用VC6作为我的IDE,我看过很多本C++的教材,有的适合我,有的不适合我,其中有一本叫《Visual C++ 2005入门经典》的书帮了我不少的忙。因为通常的C++教材都只会介绍C++的语法什么的,很少会告诉我们如何去编译、运行,告诉我们什么是控制台程序,什么事Win程序,什么是GUI程序,C++能干什么,VC和C++的区别是什么。现在有很多的朋友应该也有这些问题吧? 学C++用C++也有几年了,算不上熟悉,算是初窥门径吧,我想我应该做点什么帮助一下那些和曾经的我一样困惑的朋友,特别是学生朋友,告诉他们他们所困惑的问题的答案。记得我学C++的时候,没有人教,有的时候也走了不少弯路,甚至连调试也不会,也不知道可以通过看调用堆栈看调用次序,还自己慢慢的去搜索,好傻啊。 接下来我会做一个《Visual C++ 2010入门教程》系列,用来帮助初学者。刚开始学的时候是很痛苦的,这个我深有体会,特别是身边还没有人能够指导一二的。内容主要涵盖在Windows下面使用C++进行开发的常见内容,Visual Studio 2010的使用,如何创建新项目,如何调试,如果配置项目属性等等,另外还会介绍Visual C++ 2010中新加如的一些内容,包括一些新的STL组建,一些新的语法支持等等。 由于本人水平有限,其中难免有错误,希望大家谅解,如果大家有发现问题还请务必及时指出来,否则误导了他人我就罪不容恕了。 注意,本教程非C++教程,不会教你C++,只会教你如何使用Visual C++ 2010去练习去学习其它C++教材上面的程序。因此建议大家认真的去看其他的C++教程,在使用Visual C++ 2010实践的时候如果遇到问题可以到这里来参考。推荐《C++ Primer》、《C++程序设计语言》《Visual C++ 2008入门经典》。 第一章:关于Visual Studio、VC和C++的那些事 首先,这三个东西有什么区别呢?VC和C++是相同的吗,有什么区别呢?我刚开始学C++的时候也有这样的问题,在这里我来替大家解释一下他们到底是什么。 Visual Studio,我们一般都简称为VS,VC全称是Visual C++,C++就不用解释了吧?Visual Studio其实是微软开发的一套工具集,它由各种各样的工具组成,这就好

visual c++ 2010入门教程

在我还在上学的时候,我选择了C++,最初我用VC6作为我的IDE,我看过很多本C ++的教材,有的适合我,有的不适合我,其中有一本叫《Visual C++ 2005入门经典》的书帮了我不少的忙。因为通常的C++教材都只会介绍C++的语法什么的,很少会告诉我们如何去编译、运行,告诉我们什么是控制台程序,什么事Win程序,什么是GUI程序,C++能干什么,VC和C++的区别是什么。现在有很多的朋友应该也有这些问题吧? 学C++用C++也有几年了,算不上熟悉,算是初窥门径吧,我想我应该做点什么帮助一下那些和曾经的我一样困惑的朋友,特别是学生朋友,告诉他们他们所困惑的问题的答案。记得我学C++的时候,没有人教,有的时候也走了不少弯路,甚至连调试也不会,也不知道可以通过看调用堆栈看调用次序,还自己慢慢的去搜索,好傻啊。 接下来我会做一个《Visual C++ 2010入门教程》系列,用来帮助初学者。刚开始学的时候是很痛苦的,这个我深有体会,特别是身边还没有人能够指导一二的。内容主要涵盖在Windows下面使用C++进行开发的常见内容,Visual Studio 2010的使用,如何创建新项目,如何调试,如果配置项目属性等等,另外还会介绍Visual C++ 2010中新加如的一些内容,包括一些新的STL组建,一些新的语法支持等等。 由于本人水平有限,其中难免有错误,希望大家谅解,如果大家有发现问题还请务必及时指出来,否则误导了他人我就罪不容恕了。 注意,本教程非C++教程,不会教你C++,只会教你如何使用Visual C++ 2010去练习去学习其它C++教材上面的程序。因此建议大家认真的去看其他的C++教程,在使用Visual C++ 2010实践的时候如果遇到问题可以到这里来参考。推荐《C++ Prim er》、《C++程序设计语言》《Visual C++ 2008入门经典》。 第一章关于Visual Studio、VC和C++的那些事 第二章安装、配置和首次使用VS2010 本章将帮助大家安装Visual C++ 2010,帮助大家做一些常见的配置,以及第一次使用它来写HelloWord程序。 安装

vs2008单元测试入门

VS2008单元测试 调试是解决错误的过程,测试是发现软件缺陷的过程。每一个软件在交付使用时前都必须经过测试。软件测试是软件开发的重要组成部分,现在已经发展成专门的技术。 在消除了程序中的语法错误和运行错误后,程序仍然不能保证完全正确,程序员可以进行简单的单元测试,来确定基本功能是否完善,复杂的测试由专业人员进行。什么是单元测试呢? 单元测试是测试隔离的单元或模块,对各种方法分别使用不同的输入和执行参数来测试。单元测试的依据是详细设计描述,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。单元测试多采用白盒测试技术,系统内多个模块可以并行地进行测试。VS2008将单元测试工具集成在IDE中,方便程序员使用。 1.新建一个类库项目,并为其中的类添加一个方法,方法任意 创建单元测试。在方法名上右击,然后单击“创建单元测试”选项,打开“创建单元测试”对话框

选择方法 为新建项目命名

然后在解决方案管理中就多了相应的Test Project和一个叫Solution Items的解决方案文件夹。 相关的文件作用如下: localtestrun.testrunconfig 本地测试运行配置文件; MySchoolPro.vsmdi 测试管理文件; AuthoringTest.txt 提供创建测试的说明,包括向项目增加其他测试的说明;XXXXTest.cs 包含测试对象对应的测试方法,以及测试初始化和测试清除的方法. 修改输入参数,及对比参数,还可以设置判定方法的条件

打开测试菜单-》窗口-》测试试图 在测试试图,右键运行要测试的方法,在测试结果窗口中查看测试结果

相关文档
最新文档