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


비밀번호

댓글 작성자
 




... 31  32  33  34  35  36  [37]  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
269정성태5/4/20069033Visual Studio 2005 Team System Level 200 Course Material
268정성태5/4/20069318Microsoft Component Installer Software Development Kit for Windows (x86) Version 2.0
267정성태5/4/20069222101 Code Samples for Visual Basic 2005
266정성태5/3/200611041Consolas Font Pack for Microsoft Visual Studio 2006 [2]
264정성태5/1/200610216Team System for C++ Developers
262정성태5/1/200619797Registry 등록 없이 COM 개체 사용 [1]파일 다운로드2
261정성태4/30/2006100514GB 메모리 인식 [2]
259정성태4/30/20069119Building ASP.NET 2.0 Web Sites Using Web Standards
260정성태4/30/20068831    답변글 XHTML Validator Modulle
258정성태4/29/20069409WebServiceStudio 2.0
263정성태5/1/20069055    답변글 Calling an Arbitrary Web Service
257정성태4/29/20069019TypeForwardedToAttribute
256정성태4/29/20069279Windows API - Using Condition Variables
252정성태4/26/20069492한글 관련 메세지 정리파일 다운로드1
251정성태4/26/20069948IIS 7.0 에서 소개되는 새로운 기능들 [1]
250정성태4/25/200610644툴 소개: VisualNDepend
249정성태4/25/200616632Integrating a debugger into Reflector
265정성태5/1/200610896    답변글 Deblector: First Version
285정성태5/15/20068999    답변글 New Deblector version ( an Add-In to debug with reflector )
248정성태4/21/20069350VS.NET 2005 Add-In : CSS Properties Window
247정성태4/21/20069269VS.NET 2005 Add-In : Spell Checker for HTML and ASP.NET pages
244정성태4/19/20069232SQL Server 2005 Service Pack 1
241정성태4/19/20068696VSTS Annotations for C++: Beyond Just Documenting Method Behavior [1]파일 다운로드1
240정성태4/18/20069325Accessing System Power and Network Status Using SENS
253정성태4/29/20069674    답변글 [HowToUse]: Accessing System Power and Network Status Using SENS
239정성태4/18/20069253Display a Web Page in a Plain C Win32 Application
... 31  32  33  34  35  36  [37]  38  39  40  41  42  43  44  45  ...