Microsoft MVP성태의 닷넷 이야기
개발환경 구성 : 24. Smart Start and Stop Service in VS.NET Build [링크 복사], [링크+제목 복사],
조회: 11127
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Smart Start and Stop Service in VS.NET Build
; http://blogs.msdn.com/irenak/archive/2006/09/13/752075.aspx

NT 서비스 프로그램에 대한 빌드를 할 때, 빌드 이벤트로 넣어두면 좋겠지요. ^^

If you have a windows service project as part of your solution, you’re quite familiar with the issues it presents -- if the service is running and you’re recompiling either the service project itself, or any assemblies loaded by the service, you’ll get a build error. The script below, courtesy of Scott Jennings, is a way to stop and start service, if it’s installed and is running/stopped correspondingly. All that remains to do it to add the script invocation code to pre-build and post-build event command lines in Visual Studio.

' Usage:

' start /w wscript "\ServiceHelper.vbs"

' Example:

' start /w wscript "C:\Projects\XYZ\ServiceHelper.vbs" start myservice

Dim WMIService

Dim Services

Dim Service

Dim action

Dim result

If Wscript.Arguments.Count <> 2 Then

Wscript.Echo "Usage: ServiceHelper.vbs start|stop ServiceName"

Wscript.Quit 1

End If

Set WMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

Set Services = WMIService.ExecQuery("Select * from Win32_Service where Name = '" + Wscript.Arguments(1) + "'")

If Services.Count > 1 Then

Wscript.Echo "More than one matching service"

Wscript.Quit 1

ElseIf Services.Count = 1 Then

action = Wscript.Arguments(0)

For Each Service In Services

If action = "start" AND Service.State <> "Running" Then

result = Service.StartService()

ElseIf action = "stop" AND Service.State <> "Stopped" Then

result = Service.StopService()

End If

Next

Wscript.Quit(result)

Else

Wscript.Echo "No such service found"

Wscript.Quit 1

End If

Special thanks to Scott Jennings who created this solution!








[최초 등록일: ]
[최종 수정일: 9/14/2006]


비밀번호

댓글 작성자
 




1  2  3  4  5  6  7  8  9  10  [11]  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
925정성태2/27/200811360TFS : 157. OpenGauntlet - Private Builds
924정성태2/24/200811433VS.NET IDE : 40. Visual Studio Programmer Themes Gallery
923정성태2/23/200810888.NET : 72. Configuration Section Designer
922정성태2/23/200810536.NET : 71. PowerShell 호스팅하는 방법
921정성태2/21/200810348개발 환경 구성: 119. Windows 네트워킹 - TCPChimney 에 대해서.
920정성태2/20/200810169개발 환경 구성: 118. 외부 도구 구성 - 서명된 어셈블리의 공개키 가져오기 [1]
919정성태2/17/200811341TFS : 156. TFS 빌드를 소스 서버와 연결
918정성태2/17/200810913TFS : 155. File Bound Generator (VSTS 2008 DB 파워 툴) [1]
917정성태2/16/200810338Windows 2008 : 6. 출시 순간 부터 SP1
916정성태2/14/200810786TFS : 154. TFS 2008 팀빌드 도움말(CHM)
915정성태2/12/200812621.NET 3.5 : 38. ADO.NET Entity Framework 성능 비교
914정성태2/6/200810841Vista : 51. How to create a Windows Vista boot CD with WinPE
913정성태2/5/200811293.NET : 70. C# 4.0 - Dynamic Lookup
912정성태2/1/200810499Debug : 34. WinDBG 를 사용해서 예외 파악하기
911정성태1/30/200810162Windows 2008 : 5. 쓰레드 관련해서 제공되는 API
910정성태1/18/200810792.NET : 69. CLR Memory Model [1]
909정성태1/4/200811881IIS : 21. SSL Handshaking 과정 (IE, IIS)
908정성태1/3/200810037TFS : 153. TFS 2008 Power Tools [1]
907정성태1/1/200811307Vista : 50. cmd.exe 의 특별한 대우
906정성태12/27/200710653Windows 2008 : 4. Core 서버에 Hyper-V 설치
905정성태12/24/20079887TFS : 152. VSTS 프로세스 템플릿 사용자 정의
904정성태12/24/200710501IIS : 20. IIS7 Hostable Web Core Custom Service
903정성태12/21/20079950TFS : 151. TFS Continuous Integrator
902정성태12/21/20079817TFS : 150. TFS File Sharer
901정성태12/20/20079772.NET 3.5 : 37. ADO.NET Data Services [3]
900정성태12/19/20079882Debug : 33. RegEx 의 Compiled 옵션 버그
1  2  3  4  5  6  7  8  9  10  [11]  12  13  14  15  ...