Microsoft MVP성태의 닷넷 이야기
개발환경 구성 : 24. Smart Start and Stop Service in VS.NET Build [링크 복사], [링크+제목 복사],
조회: 11128
글쓴 사람
정성태 (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)
1026정성태2/4/200910737TFS : 171. Increment your Assembly Versions using Team Build
1025정성태2/3/200910891Debug : 39. Windows 7 에서 동작하는 ADPlus
1024정성태2/1/200910178VS.NET IDE : 44. Project Template for TFS Utilities
1023정성태1/30/200910738SDK : 16. MsiQueryProductState API
1022정성태1/29/200910460.NET : 98. Pex
1021정성태1/27/200910226Windows 2008 : 8. Active Directory Recycle Bin
1020정성태1/23/200910563IIS : 27. IIS 6 환경에서 AppPool 사용 관리
1019정성태1/23/200910318.NET : 97. COM 개체 사용시 주의점
1018정성태1/23/200910588VS.NET IDE : 43. 새 프로젝트 대화창에서 프로젝트 템플릿이 없을 때 - DevEnv /InstallVSTemplates
1017정성태1/21/200910359.NET 4.0: 7. Workflow Foundation 3.0/3.5와 4.0의 호환에 관해서.
1016정성태1/20/200912248.NET 3.0 : 29. WPF - HWND를 가진 윈도우 투명 처리
1015정성태1/18/200910122Web : 2. Azure 서비스 맛보기 예제
1014정성태1/17/200912816Vista : 54. WinRM(Windows Remote Management)
1013정성태1/17/200910349Windows 7: 2. VS.NET 2008을 64비트 Windows 7 베타에 설치 불가
1012정성태1/15/200910667.NET 3.0 : 28. WPF - Dependency Object 를 Console 응용 프로그램에서 다루기
1011정성태1/13/20099850IIS : 26. 파일 공유를 통한 Configuration 공유 방법 개선
1010정성태1/13/200910597Windows 7: 1. BitLocker - USB 드라이브 지원
1009정성태1/12/200910509IIS : 25. ConfigurationEditor - .config 변경에 대한 코드 생성기
1008정성태1/10/200911407IE 8 User Agent 문자열
1007정성태1/10/200917024.NET 3.0 : 27. WPF - 폴더 선택 대화창 (FolderBrowserDialog) [4]
1006정성태1/7/200910671.NET : 96. C# Interpreter
1005정성태1/4/200911221MPI 를 사용한 첫 응용 프로그램 소개
1004정성태1/3/200910742개발 환경 구성: 125. PowerShell - 동적으로 C# 응용 프로그램 빌드 [1]
1003정성태1/1/2009144432008년 인기 순위 정리
1002정성태12/31/200810503Software Release Management - The Questionnaire
1001정성태12/31/200810193.NET : 95. 빌드된 어셈블리를 서명하는 방법 [1]
1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...