赞
踩
通常在开发过程中,会遇到控制台程序需要转换为Windows服务的情况。这个时候我们只需要在控制台程序中添加Windows服务文件并进行配置,即可在服务器中进行安装,让控制台程序以服务的形式跑起来。
1、在控制台项目中新增一个Windows服务文件,我这里命名为OrderSync.cs。

2、 查看新增的Windows服务代码,将服务名称设置为自己需要的名称。
- partial class OrderSync : ServiceBase
- {
- public OrderSync()
- {
- InitializeComponent();
- base.ServiceName = "OrderSync";
- }
-
- protected override void OnStart(string[] args)
- {
- // TODO: 在此处添加代码以启动服务。
- }
-
- protected override void OnStop()
- {
- // TODO: 在此处添加代码以执行停止服务所需的关闭操作。
- }
- }

3、双击打开新增的Windows服务cs文件,右键点击添加安装程序。

4、配置安装程序。
双击安装成功的安装程序ProjectInstaller.cs,会看到serviceProcessInstaller1和serviceInstaller1:

鼠标左键选中serviceProcessInstaller1,在右下角的属性中进行如下配置:

鼠标左键选中serviceInstaller1,在右下角的属性中进行如下配置:

5、修改控制台程序入口。
将控制台入口Program.cs改为如下:
- class Program
- {
- static void Main(string[] args)
- {
- ServiceBase[] ServicesToRun;
- ServicesToRun = new ServiceBase[]
- {
- new OrderSync() //这里的OrderSync新增的Windows服务
- };
- ServiceBase.Run(ServicesToRun);
- }
- }
6、Windows服务安装。
重新编译生成控制台程序之后,需要在编译后的文件夹中增加三个文件
1、微软安装程序工具 (Installutil.exe),只要你电脑安装了Visual Studio,这个文件就可以在C:\Windows\Microsoft.NET\Framework\v2.0.50727(或者C:\Windows\Microsoft.NET\Framework\v4.0.30319)中找到

将 Installutil.exe文件Copy到编译完的控制台应用程序中!
2、安装执行文件和卸载执行文件bat:

setup.bat文件中编辑如下内容,OrderSyncService.exe请更名为你项目的执行文件名称:
installutil OrderSyncService.exe
unsetup.bat文件中编辑如下内容,OrderSyncService.exe请更名为你项目的执行文件名称:
installutil OrderSyncService.exe /u
3、保存成功之后点击setup.bat,微软安装程序工具 (Installutil.exe)会自动安装OrderSyncService.exe服务。现在服务就已经开始运行了。
4、如果要卸载服务,点击unsetup.bat即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。