install/uninstall a Windows Service install/uninstall a Windows Service powershell powershell

install/uninstall a Windows Service


Here's a sanitized version of an install script I wrote. Should demonstrate everything you need to do:

## delete existing service# have to use WMI for much of this, native cmdlets are incomplete$service = Get-WmiObject -Class Win32_Service -Filter "Name = 'My Service'"if ($service -ne $null) {     $service | stop-service    $service.Delete() | out-null }## run installutil# 'frameworkdir' env var apparently isn't present on Win2003...$installUtil = join-path $env:SystemRoot Microsoft.NET\Framework\v2.0.50727\installutil.exe$serviceExe = join-path $messageServerPath MyService.exe$installUtilLog = join-path $messageServerPath InstallUtil.log& $installUtil $serviceExe /logfile="$installUtilLog" | write-verbose$service = Get-WmiObject -Class Win32_Service -Filter "Name = 'My Service'"# change credentials if necessaryif ($user -ne "" -and $password -ne "")    { $service.change($null, $null, $null, $null, $null, $null, $user, $password, $null, $null, $null) | out-null }# activate$service | set-service -startuptype Automatic -passthru | start-servicewrite-verbose "Successfully started service $($service.name)"


You didn't mention what language you are using. More than likely, the windows install utility can handle it.


If I understand your question correctly, you first need to create an installer from within VSTS. It's been awhile since I've done one, but it basically looks like this:

http://csharpcomputing.com/Tutorials/Lesson22.htm

Once you have created an installer, you can automate it with PowerShell.

If you really do want PowerShell to be your service installer, there might be a way to automate the windows service installer from PowerShell by using the ServiceInstaller Class.