Microsoft MVP성태의 닷넷 이야기
개발환경 구성 : 24. Smart Start and Stop Service in VS.NET Build [링크 복사], [링크+제목 복사],
조회: 11147
글쓴 사람
정성태 (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]


비밀번호

댓글 작성자
 




... 16  [17]  18  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
775정성태6/11/200712017TFS : 105. Visual Studio Team Foundation Server ? Project Server 2007 Connector
774정성태6/10/200712026.NET 3.5 : 24. F#, Cω 를 통해보는 C# 3.0 기능들
773정성태6/10/200712534Vista : 45. HOW-TO: Disable Automatic Folder Type Discovery
772정성태6/9/200711053Debug : 20. How Windows Shuts Down
771정성태6/9/200711258VS.NET IDE : 34. .NET Client Application Services [1]
770정성태6/9/200710696TFS : 104. 팀 빌드 스케줄링
769정성태6/9/200711613.NET 3.5 : 23. the red bits and the green bits
768정성태6/9/200711746.NET 3.5 : 22. System.TimeZoneInfo
767정성태6/9/200711843Vista : 44. 이동 가능한 드라이브에 BitLocker 적용
766정성태6/9/200711129개발 환경 구성: 99. Virtualisation White Paper
765정성태6/9/200714010Debug : 19. IsDebuggerPresent API 이야기
764정성태6/6/200711214VS.NET IDE : 33. Visual Studio 2008 Shell - 사용자 정의 가능한 쉘 환경 구현
763정성태6/6/200710563.NET : 59. 스마트 클라이언트의 미래 - Acropolis
762정성태6/5/200710973.NET 3.5 : 21. VB.NET LINQ Hands On Labs for Orcas Beta 1
761정성태6/5/200710653Visual C++ : 10. C++-0x
760정성태6/1/200711144.NET 3.5 : 20. Jasper 프로젝트 문서
759정성태5/30/200710280TFS : 103. SDC - MSBuild Task Library
758정성태5/25/200710510.NET 3.5 : 19. LINQ to XSD Preview Alpha 0.2
757정성태5/25/200710465TFS : 102. SnagIt Output
756정성태5/25/20079132.NET : 58. IL inline 툴
755정성태5/24/200710034TFS : 101. Team Foundation Server Guide (beta1)
754정성태5/22/20079549SDK : 8. Microsoft Windows MultiPoint Software Development Kit (SDK) - CTP 2
753정성태5/22/200711095.NET 3.5 : 18. WCF 신규 바인딩 - WebHttpBinding
752정성태5/22/200712274Debug : 18. 무한 루프에 빠졌을 때.
751정성태5/22/200710188TFS : 100. LogParser 와 TFS
750정성태5/18/200711095IIS : 15. WCAT 6.3
... 16  [17]  18  19  20  21  22  23  24  25  26  27  28  29  30  ...