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]