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


    因为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 . NET Framework v2 . 0.50727 
     
    echo  您的机器上安装了相应的 . net  FrameWork , 可以安装本服务,按任意键继续…………
     
    echo   off 
     
    pause 
     %SystemRoot%
     Microsoft . NET Framework v2 . 0.50727 installutil C: TradeMatchService2007 TradeMatchService2007 bin Debug TradeMatchService2007 . 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 . NET Framework v2 . 0.50727 
     %SystemRoot%
     Microsoft . NET Framework v2 . 0.50727 installutil  / uninstall C: TradeMatchService2007 TradeMatchService2007 bin Debug TradeMatchService2007 . exe
     
    :LastEnd 
     
    rem  exit 
     


    也可以同时判断两个以上的net FrameWork版本

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

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

     


    一、首先在解决方案中创建一个安装部署的项目,右键点击项目名称,在菜单中选择[添加]-->[项目输出],
    在弹出的"添加项目输出组"窗口中,第一个下拉框会列出该解决方案中其他的项目,
    选择需要制作安装的windows service项目,再选择主输出,点[确定]。如图:


     


    依次在”目标计算机上的文件系统“--”应用程序文件夹“下添加以下四个文件
    1、msiexec.exe
    2、start.bat
    3、stop.bat
    4、主输出文件

     




    其中msiexec.exe位于Windows\System32下
    stopbat文件内容如下:

     echo   off 
     
    net  stop  " servTradeMatch2007 " 
     
    exit


    startbat文件内容如下:

     
     
    echo   off 
     
    net   start   " servTradeMatch2007 " 
     
    exit


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


     

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

    输入一串值 

     

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

     


    OK ! 生成安装包,

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

     

     


    安装过程如下:

     



     



     



     



    卸载:

  • 相关阅读:
    【新】idea激活码,jetbrains全系列最新2020激活码和破解补丁(亲测可用),可免费使用69年
    分享【高热度网】最火热的10篇文章,每一篇都是精品
    什么是高热度网(gaoredu.com)?高热度网站都有哪些功能?
    【高热度网】2020年最新8款迷你世界手机黑科技辅助软件免费下载
    【我爱科技论坛】关于我爱科技论坛解压密码的说明
    《前端工程师面试宝典》---前端面试必备
    【VIP视频网站项目】VIP视频网站项目v1.0.3版本发布啦(程序一键安装+电影后台自动抓取+代码结构调整)
    【数据结构】队列实现的5种方式及时间复杂度对比分析
    解决Webpack中提示syntax 'classProperties' isn't currently enabled的错误
    如何配置静态MAC地址
  • 原文地址:https://www.cnblogs.com/amylis_chen/p/2283738.html
Copyright © 2020-2023  润新知