Microsoft MVP성태의 닷넷 이야기
개발환경 구성 : 24. Smart Start and Stop Service in VS.NET Build [링크 복사], [링크+제목 복사],
조회: 11122
글쓴 사람
정성태 (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)
1078정성태10/6/200912225IIS : 28. WebDeploy 도구 - WebDeploy Auto-Completion UI
1077정성태10/5/200911132TFS : 175. TFS 2010 - Basic 설치 모드
1076정성태10/5/200911115Debug : 42. 설치 또는 패치 시에 무한 재부팅을 요구하는 현상
1075정성태9/30/200910709Windows 7: 3. XP Mode 응용 프로그램의 다중 모니터 지원 조건
1073정성태9/25/200911484Vista : 56. 목록상자 항목 선택시에 "띵"하는 소리
1072정성태9/24/200919033.NET 3.0 : 34. WPF - 요소의 절대 좌표값 구하기
1071정성태9/17/200910474VS.NET IDE : 52. VS 2010 - WPF 디자이너 확장 코드 예제
1070정성태9/16/200910629VS.NET IDE : 51. Code Snippet 을 이용한 WPF 의존/첨부 속성 정의 코드 생성 [1]
1069정성태8/22/200910884.NET : 105. STM.NET on DevLabs
1068정성태8/20/200912081개발 환경 구성: 130. WinSxS 폴더 이해
1067정성태8/6/200910541개발 환경 구성: 129. Windows Vista/2008에서 .NET 1.1 설치
1066정성태7/31/200912217.NET 3.0 : 33. WPFPresenter.zip - PPT를 XAML 로! [1]
1065정성태7/31/200910577VS.NET IDE : 50. Debugging without executing your application
1064정성태7/28/200910023VS.NET IDE : 49. Visual Studio 2010 ...
1063정성태7/20/200911948Windows 2008 : 13. R2 - Trigger-Start Services [1]
1062정성태7/9/200910351VS.NET IDE : 48. 분리된 환경설정으로 Visual Studio 2008 실행
1061정성태7/9/200910815개발 환경 구성: 128. Web Services Contract First tool
1060정성태7/2/200911094개발 환경 구성: 127. UAC 모드에서 Virtual Server 웹 사이트 접근
1059정성태6/29/200912774x64 : 4. DLL Surrogate의 또 다른 활용 - 32bit응용 프로그램에서 64bit COM개체 호출
1058정성태6/23/200911725.NET 3.0 : 32. WCF - GetObject 로 서비스 프록시 인스턴스를 얻는 방법
1057정성태6/19/200911118.NET 3.0 : 31. WPF - ConveterParameter 로 1개 이상의 값을 전달하고 싶다면?
1056정성태6/17/200910696.NET 3.0 : 30. WPF - 다중 AppDomain에서 WPF 응용 프로그램 호스트
1055정성태6/15/200910591VS.NET IDE : 47. 디버그 중지점(Break Point) 목록 내보내기/가져오기
1054정성태6/6/200910971Vista : 55. FAQ: How do I start a program as the desktop user from an elevated app?
1053정성태6/1/200910508Debug : 41. PDB 다운로드 시도를 없애는 방법
1052정성태5/28/200911600.NET 4.0: 9. .NET Framework 4 Client Profile
1  2  3  4  [5]  6  7  8  9  10  11  12  13  14  15  ...