您的位置:首页 > 编程语言 > C#

C#制作Windows service服务系列一:制作一个可安装、可启动、可停止、可卸载的Windows service

2011-08-30 08:38 1121 查看
系列一: 制作一个可安装、可启动、可停止、可卸载的Windows service(downmoon原创)

系列二:演示一个定期执行的windows服务及调试(windows service)(downmoon)

系列三: windows service系列三--制作可控制界面的windows service


  因为windows service 工作中最近开始频繁使用,而手工部署的方式,最好的是用BAT文件,可是程序要部署到别的服务器上时,就会发现路径是一个问题:当然也可以用全局变量来控制,这里不赘述。

给出一个手工部署的例子
  setupServer.bat

echo off
if exist "%SystemRoot%Microsoft.NETFramework 2.0.50727" goto netOld
:DispError
echo 您的机器上没有安装 .net FrameWork 2.0
pause
goto LastEnd
:netOld
cd %SystemRoot%Microsoft.NETFrameworkv2.0.50727
echo 您的机器上安装了相应的.net FrameWork,可以安装本服务,按任意键继续…………
echo off
pause
%SystemRoot%Microsoft.NETFrameworkv2.0.50727installutil C:TradeMatchService2007TradeMatchService2007binDebugTradeMatchService2007.exe
net start "servTradeMatch2007"
:LastEnd
rem exit

卸载如下:
  unInstallServer.bat

echo off
if exist "%SystemRoot%Microsoft.NETFramework 2.0.50727" goto netOld
:DispError
echo 您的机器上没有安装.net FrameWork 2.0,安装即将终止
pause
goto LastEnd
:netOld
echo 即将卸载本服务,按任意键继续…………
echo off
pause
net stop "servTradeMatch2007"
cd %SystemRoot%Microsoft.NETFrameworkv2.0.50727
%SystemRoot%Microsoft.NETFrameworkv2.0.50727installutil /uninstall C:TradeMatchService2007TradeMatchService2007binDebugTradeMatchService2007.exe
:LastEnd
rem exit

  也可以同时判断两个以上的net FrameWork版本
  这里要介绍的是一个完整的安装程序,所以服务本身就略去,如果有朋友需要学习,可以跟我联系3w@live.cn

  好了,言归正传
  假定 windows Service已写好,服务名为servTradeMatch2007,可执行文件名为TradeMatchService2007.exe

  echo off
net stop "servTradeMatch2007"
exit

  startbat文件内容如下:

echo off
net start "servTradeMatch2007"
exit

  在"用户的程序文件夹下",新建一文件夹”蔬菜网全文检索服务“,分别制作这前三个文件的快捷方式到这里
  


  右键单击”卸载服务“(msexec.exe对应的快捷方式)
  输入一串值 
  


  其中"/x  "后面对应和数值来自
  Setup_TradeMatchService2007.vdproj文件

  


  OK ! 生成安装包,

  别急,安装完后,windows service并没有安装成服务。
  还必须在安装项目中添加自定义操作。右击安装项目->视图->自定义操作。如下图:分别添加自定义操作,在应用程序文件夹中选择刚才添加的主输出即可.

  


  


  安装过程如下:
  


  


  


  


  卸载:
  


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐