系列一:
制作一个可安装、可启动、可停止、可卸载的windows service
(downmoon
原创)
系列二:演示一个定期执行的windows服务及调试(downmoon
)
系列三:windows service系列三--制作可控制界面的windows service
因为windows service 工作中最近开始频繁使用,而手工部署的方式,最好的是用BAT文件,可是程序要部署到别的服务器上时,就会发现路径是一个问题:当然也可以用全局变量来控制,这里不赘述。
给出一个手工部署的例子
setupServer.bat
echo
off
if
exist
"
%SystemRoot%Microsoft.NETFramework2.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
installutilC:
TradeMatchService2007
TradeMatchService2007
bin
Debug
TradeMatchService2007
.
exe
net
start
"
servTradeMatch2007
"
:LastEnd
rem
exit
卸载如下:
unInstallServer.bat
echo
off
if
exist
"
%SystemRoot%Microsoft.NETFramework2.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
/
uninstallC:
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并没有安装成服务。
还必须在安装项目中添加自定义操作。右击安装项目->视图->自定义操作.
如下图:分别添加自定义操作,在应用程序文件夹中选择刚才添加的主输出即可.
安装过程如下:
卸载:
分享到:
相关推荐
W3C提供免费的Markup Validation Service,这是一个可以...这是一个基于该服务的C#版本的API类库演示程序。 详细请看这里: http://blog.csdn.net/downmoon/archive/2010/10/17/5946465.aspx 欢迎联系邀月 3w@live.cn
一个相当独立的.通用分页控件c#源码(downmoon收集) 采用工厂模式,提供标准化接口!支持 DataGrid 及 Repeater分页使用方法:新建两个解决方案 一为Pager,一为webtest 下载后请将两个解决方案合并一下,即新的...
获取远程网页的内容之一(downmoon原创)
asp.net中获取远程网页的内容之一(downmoon原创)
讲座内容: Profie 是ASP.NET 2.0的重要特性之一,而ASP.NET AJAX提出了Profile Service,使开发人员能够方便地在客户端以AJAX的方式来处理Profile信息。这节课我们将来了解这个ProfileService简单的功能细节以及...
讲座内容: Authentication Service是ASP.NET AJAX提供的另一个Application Service,能够让我们以AJAX方式来使用用户登录等功能。本次课程主要讲述如何来使用Authentication Service。
Authentication Service是ASP.NET AJAX提供的另一个Application Service,能够让我们以AJAX方式来使用用户登录等功能。本次课程主要讲述Authentication Service的简单实现细节以及如何扩展Authentication Service。
获取远程网页的内容之二(downmoon原创)
殊不知,有一款微软提供的超级利器--Windows Install Clean Up,就是专门处理此类Case的,正如其名,它的功能主要是清除所安装软件的注册信息,或上次安装的失败残余痕迹,从而使该软件下一次安装时,系统好像第一...
讲座内容: Profie是ASP.NET 2.0的重要特性之一,而ASP.NET AJAX提出了Profile Service,使开发人员能够方便地在客户端以AJAX的方式来处理Profile信息。这节课我们将来了解这个ProfileService的使用和扩展方式。
asp.net下获取远程网页的内容之二(downmoon原创)
右下角弹出窗口,完全能够自定义弹出窗口的样式、内容、链接,该控件支持Firefox, IE 和 Opera ,其他浏览器没有测试。
由于微软在vs2005 vsts团队开发版中集成了sql 2005 express,而在SQL 2005中又集成了vs2005 Express,,所以当很多用户同时安装vs2005团队开发?:?sql 2005企业版(downmoon)时,就会出现数据库连接失败的case
WinForm中默认的MessageBox默认的弹出位置在屏幕的center,而且没有属性可以修改它,所以在当前活动窗体不在中央时,将会出现,弹出的MessageBox的错位。本代码实现MessageBox在当前窗体中央显示。
在IE中调用javascript打开Excel的代码(downmoon原作)
sqlserver 存储过程中的top+变量使用分析(downmoon) ,需要的朋友可以参考下。