Microsoft MVP성태의 닷넷 이야기
개발환경 구성 : 24. Smart Start and Stop Service in VS.NET Build [링크 복사], [링크+제목 복사],
조회: 11187
글쓴 사람
정성태 (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)
296정성태5/27/20069458WWF 로 만든 Tetris
294정성태5/21/20069530Session State Uses a Reader-Writer Lock
293정성태5/21/20068327Microsoft Threat Analysis & Modeling v2.0 RC1
291정성태5/18/20069594Managed Stack Explorer
289정성태5/17/20069975Microsoft ASP.NET Providers - PDF 메뉴얼
288정성태5/17/200610345TFS Administration Tool 1.0 Released...with Shared Source!
287정성태5/17/20069482An Introduction to 64-bit Installers with Visual Studio 2005: Part 1
283정성태5/15/200610072Windows Workflow Foundation: Running Service Activated Workflows on Windows Vista and IIS7
284정성태5/15/200610236    답변글 Windows Workflow Foundation: Exposing Workflows as Services [1]
281정성태5/12/20068827Microsoft Compute Cluster Pack SDK
280정성태5/11/20069121C# 3.0 : One-Step Object Creation and Initialization
279정성태5/11/200611010Vista에서 제거되는 DHTML Editing Control
278정성태5/11/20069074LINQ CTP - May 2006
286정성태5/16/20068525    답변글 Using LINQ with ASP.NET (Part 1)
277정성태5/9/20068761Web Application Projects - 정식 릴리스
276정성태5/8/20069053SNK 파일 공유하기파일 다운로드1
275정성태5/8/20068768Building Security Awareness in .NET Assemblies
274정성태5/7/20068666QuickSYS파일 다운로드2
273정성태5/7/20068943Developing Firewalls for Windows 2000/XP파일 다운로드1
272정성태5/6/200610925Windows PowerShell [3]
292정성태5/19/20069039    답변글 Windows PowerShell - PowerShell Script to Create a WorkItem
271정성태5/6/20069152MSBee
282정성태5/15/20068963    답변글 MSBee will be on CodePlex
290정성태5/18/20069369    답변글 MSBuild Extras - Toolkit for .NET 1.1 "MSBee"
270정성태5/4/20069189ISO Recorder
269정성태5/4/20069033Visual Studio 2005 Team System Level 200 Course Material
... 31  32  33  34  35  [36]  37  38  39  40  41  42  43  44  45  ...