Microsoft MVP성태의 닷넷 이야기
개발환경 구성 : 24. Smart Start and Stop Service in VS.NET Build [링크 복사], [링크+제목 복사],
조회: 14052
글쓴 사람
정성태 (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)
950정성태4/24/200813741.NET : 78. Ajax View
949정성태4/24/200813439.NET : 77. Transactional NTFS - 관리 코드 래퍼
948정성태4/22/200813837TFS : 162. Sarbanes-Oxley 404 / Visual Studio Team System 2008
947정성태4/11/200813826TFS : 161. Web Access 2008 SP1 파워툴 2008년 4월 CTP
946정성태4/6/200815711.NET 3.5 : 41. 사용자 정의 LINQ Provider 제작파일 다운로드1
945정성태4/6/200813805VS.NET IDE : 42. Class Designer Powertoys (VS.NET 2008)파일 다운로드1
944정성태4/1/200815765Debug : 36. Visual C++ - 메모리 누수 코드 감지 [1]
943정성태3/28/200814597VS.NET IDE : 41. 라인수 세어주는 애드인
942정성태3/27/200814021Debug : 35. Managed Debug Assistants (MDAs)
941정성태3/25/200814674.NET : 76. 닷넷 코드 가이드라인
940정성태3/25/200814124Windows 2008 : 7. Microsoft: Hyper-V RC
939정성태3/25/200815088.NET 3.5 : 40. ASP.NET MVC 소스 코드 공개
938정성태3/25/200813867IIS : 23. IIS7 - Administration Pack [1]
937정성태3/25/200813824.NET : 75. PRISM - something like PResentation Integration SysteM.
936정성태3/25/200814776개발 환경 구성: 123. SPN(Service Principal Name)이 뭘까? [1]
935정성태3/25/200813935TFS : 160. BuildCop v1.0
934정성태3/25/200814785TFS : 159. TFS 프록시 서버 동작 방식
933정성태3/10/200814445TFS : 158. Process Template v4.2
932정성태3/5/200812955IIS : 22. IIS 7 관리자의 UI 확장
931정성태3/5/200813866.NET : 74. CAS 이야기 - Native Code 와 Link/Full Demand
930정성태3/2/200813729.NET : 73. Variable Capturing
929정성태3/1/200813848개발 환경 구성: 122. VS.NET 2008 용 PowerCommands 도구 [1]
928정성태3/1/200814476개발 환경 구성: 121. 설치된 Windows SDK 들 간의 선택을 간편하게 해주는 설정 도구 [1]
927정성태2/29/200814120개발 환경 구성: 120. Hyper-V와 Virtual PC/Server와의 VHD 호환성 [1]
926정성태2/29/200817421.NET 3.5 : 39. LINQ Providers
925정성태2/27/200814617TFS : 157. OpenGauntlet - Private Builds
1  2  3  4  5  6  7  8  9  [10]  11  12  13  14  15  ...