Servicios Windows instalables

by Valeriano Tortola 15. enero 2008 03:22

gear Aquí va un pequeño How-to rápido de como se crea e instala un servicio Windows con .NET y Visual Studio 2005 dedicado a mi compañero Juanma Otero que a cambio me explicará como funcionan los EndPoints de SQL Server :D

Cada vez que vayamos a crear un servicio Windows, podemos seguir estos pasos para crear lo que sería el contenedor y su capacidad de instalación, para luego más tranquilamente empezar a introducir la lógica y funcionalidad del negocio que le queramos dar.

1. Creando.

empezando Se utiliza un proyecto Windows Service, que digamos es un contenedor en el que tenemos que implementar las acciones básicas de un servicio como son Start, Stop, Pause, Restar... etc.. En un próximo artículo me meteré un poco más a fondo en el tema de la implementación , como usar el EventLog... etc.. etc..

 

 

 

 

2. Haciéndolo instalable.

InstallerClass Añadimos al proyecto una Installer Class desde el menu "Add New Item", que nos provee la funcionalidad de instalación. Hay dos componentes que no están en la paleta que nos hacen falta, aunque se puede hacer "a pelo" ... siempre los añado...

 

 

 

componentes Añadimos a la paleta de componentes las clases ServiceInstaller y ServiceProcessInstaller . Añadimos estos componentes al diseñador de la clase instaladora y los configuramos. No hay mucho que configurar :P

 

 

 

 

ServiceInstaller En el ServiceInstaller, configuramos el nombre que mostrará, la descripción, el nombre por el que invocaremos al servicio y el tipo incio. Ponemos que el "Parent" es la clase InstallerClass.

 

 

 

 

 

ServiceProcessInstaller En el ServiceProcessInstaller configuramos la cuenta de usuario con la que se ejecutará el servicio, por lo general LocalService que es una cuenta con pocos privilegios. Ponemos que el "Parent" es la clase instaladora.

 

 

 

 

3. El instalador.

Instalador Añadimos al a solución un proyecto "Setup Project" que nos provee de la funcionalidad de un asistente instalador.

 

 

 

 

addprojectoutput Dentro de este proyecto, vamos al "File System Editor" y en "Application Folder" le decimos "Add Project Output", seleccionamos "Primary Output", nuestro proyecto en el combo y configuracion (Active) (para que use la que nosotros usemos ... Debug ó Release).

 

 

 

 

 

 

actionsoutput Ahora vamos al "Custom Actions Editor" y directamente sobre el elemento "Custom Actions" añadimos la salida del proyecto que hemos puesto en "Application Folder".

 

 

 

 

4. Instalando.

Install Construimos la solución y el proyecto de instalación, este último genera un paquete .msi y un .exe asociado, con eso ya se puede instalar por ahí :D pero para trabajar en desarrollo nada más comodo que botón derecho e Install ;)

 

 

 

Lo instalamos y vemos que ya aparece en nuestra consola de administración de servicios. Podemos iniciarlo, pararlo, reiniciarlo... etc...

mmc

5. Haciendo que se inicie automáticamente al instalarlo.

Si, aunque se configure que debe iniciarse automáticamente... eso será en el próximo reinicio de la máquina. Para que se inicie automáticamente la primera vez ... nos suscribimos al evento AfterInstall del componente ServiceInstaller que añadimos a la clase instaladora y hacemos que el servicio arranque con ServiceController:

private void serviceInstaller1_AfterInstall(object sender, InstallEventArgs e)
{
  using (ServiceController svc = new ServiceController("MiServicio"))
    svc.Start();
}

Con esto una vez el servicio este instalado automáticamente se iniciará.

Ahora podemos ponernos manos a la obra en integrar nuestra lógica dentro del servicio. Yo por comodidad... creo un proyecto "Console Application" normal para desarrollo y primeras pruebas, cuando ya esta todo listo... integro los ensamblados en el servicio, pero bueno... "cada maestrillo tiene su librillo..." :)

Tags: ,

.NET 2.0 | C# 2.0 | Windows

Comentarios

15/01/2008 3:41:30 #

trackback

Trackback from Pensando en asíncrono

Servicios Windows instalables

Pensando en asíncrono |

25/01/2008 20:47:50 #

jose

Great! Desconocia esta forma, siempre lo hacía con InstallUtil.exe, así es más sencillo.

Gracias por compartir.

jose Estados Unidos |

31/01/2008 8:11:13 #

pingback

Pingback from elbruno.com

Servicios Windows con dependencias - vtortola

elbruno.com |

31/01/2008 8:12:10 #

pingback

Pingback from geeks.ms

Servicios Windows con dependencias - Pensando en asíncrono

geeks.ms |

05/03/2008 12:08:38 #

Mario

Que bueno que hay personas que le sgusta compartir sus conocimientos, espero seguir tu ejemplo y aportar algo util como tu lo has hecho.

Felicidades y gracias Smile

Mario México |

16/03/2008 8:37:21 #

German

Gracias, muy útil, pero .NET 2005 trae algunas novedades que ahorran un par de pasos, como en cuando indicas "Add Installer"  ya deja agregados los componentes ServiceInstaller y ServiceProcessInstaller.

Salu2

German Chile |

24/03/2008 4:09:28 #

Iván

Amigo:

Gracias por compartir tus conocimientos con los demás, ayuda bastante, sigue adelante!.

Saludos

Iván Bolivia |

05/05/2010 1:33:40 #

pingback

Pingback from endyear2012.com

final test pingback from «  End Year 2012

endyear2012.com |

19/05/2010 14:04:57 #

pingback

Pingback from 447.myipgirl.com

600sel Baseboard Cadet, 600sel Auto Offers Truck Parts

447.myipgirl.com |

19/05/2010 15:04:09 #

pingback

Pingback from 98.tvshowzone.com

Game Datsun 280zx, 280zx Ancient Datsun

98.tvshowzone.com |

19/05/2010 16:09:11 #

pingback

Pingback from 362.zapstreaming.com

Beretta Discount Tubes Optima Choke Improved Cylinder, Kia Optima Regal 2002

362.zapstreaming.com |

19/05/2010 17:33:27 #

pingback

Pingback from 475.myipgirl.com

Part Statue Of Liberty And Ellis Island Audio Tours Castle Clinton, Audi 4000 Car Parts

475.myipgirl.com |

19/05/2010 19:13:13 #

pingback

Pingback from 446.rkwrh.com

323is Headlight Lamp 328is Bmw E36, 97 Bmw 328is Coupe

446.rkwrh.com |

19/05/2010 20:43:38 #

pingback

Pingback from 292.zapstreaming.com

Ford Focus Gt Jahreswagen, 1995 Ford Focus Gt

292.zapstreaming.com |

20/05/2010 2:38:59 #

pingback

Pingback from 19.tvshowzone.com

1969 Ford F100 Brake Pads, 1958 Ford F100 Trucks For Sale

19.tvshowzone.com |

20/05/2010 5:04:00 #

pingback

Pingback from 460.codebluehacks.org

Sts Aftermarket Brake Rotors Zr1, Pine Barrens 300 Series State Forests

460.codebluehacks.org |

20/05/2010 10:31:20 #

pingback

Pingback from 369.myipgirl.com

Dvd Magnum Larry Manetti, 22 Walther Magnum

369.myipgirl.com |

20/05/2010 11:21:40 #

pingback

Pingback from 372.tijuanareader.com

2004 Toyota Matrix P0133, Matrix Car Dealer

372.tijuanareader.com |

20/05/2010 11:38:32 #

pingback

Pingback from 368.cmanager.org

E550 Used E63 Amg 2010 Mercedes Benz, E550 Oem

368.cmanager.org |

20/05/2010 21:19:24 #

pingback

Pingback from 237.jordanbrandallamerican.com

Wrangler Hhr, Buy Battery Panasonic Hhr

237.jordanbrandallamerican.com |

20/05/2010 23:17:42 #

pingback

Pingback from 230.zapstreaming.com

Sl1 Mos, Sl1 Zune Item

230.zapstreaming.com |

21/05/2010 2:55:38 #

pingback

Pingback from 307.rkwrh.com

Rd200 Neon, Plymouth Neon Sale Form

307.rkwrh.com |

21/05/2010 3:29:11 #

pingback

Pingback from 490.cmanager.org

Ford Excursion Seat Belt, Ford Excursion Trailer Brake

490.cmanager.org |

21/05/2010 5:10:05 #

pingback

Pingback from 497.tvshowzone.com

2000 Ford Escort Radiator Support, Replacement Ford Escort Zx2 Water Pump

497.tvshowzone.com |

21/05/2010 11:50:39 #

pingback

Pingback from 319.1fh.org

2006 Cl500 2005 Mercedes Benz, Cl500 Parts Installation

319.1fh.org |

21/05/2010 15:09:03 #

pingback

Pingback from 315.dlmreza.net

Chrylser Dodge Grand Caravan, Chrylser Imperial Radiator Catalytic Converter Oem

315.dlmreza.net |

21/05/2010 18:22:57 #

pingback

Pingback from 269.jeepsunlimted.com

Millenia Headlight Brake Pads, Parts 2002 Mazda Millenia Supercharged

269.jeepsunlimted.com |

21/05/2010 22:33:33 #

pingback

Pingback from 475.binggreen.com

Lx470 Replacement Brand Beck Arnley Lexus Sc400, Lexus Lx470 Wholesale Our

475.binggreen.com |

22/05/2010 0:49:40 #

pingback

Pingback from 456.tgrconversions.com

E100 Replacement Razor Electric Scooter, Pt Ae1000u Details

456.tgrconversions.com |

22/05/2010 4:14:45 #

pingback

Pingback from 471.jordanbrandallamerican.com

Marauder Pet, Marauder Bulbapedia

471.jordanbrandallamerican.com |

22/05/2010 7:25:51 #

pingback

Pingback from 202.rkwrh.com

Replacing Headlight Vw Jetta, Volkswagen Jetta Performance Chip

202.rkwrh.com |

22/05/2010 13:37:08 #

pingback

Pingback from 382.tijuanareader.com

Custom Rims Chevy Trailblazer, Casita 17 Travel Trailer For Sale

382.tijuanareader.com |

22/05/2010 21:29:13 #

pingback

Pingback from 430.rkwrh.com

Sephia Car Pictures Kia Sorento, Model 1995 Kia Sephia Vehicle - 430.rkwrh.com

430.rkwrh.com |

23/05/2010 7:38:33 #

pingback

Pingback from 98.mfbattle.com

1985 Mercedes Benz 190d To Buy, 190d Replacement 1987 Mercedes Benz 190e - 98.mfbattle.com

98.mfbattle.com |

24/05/2010 0:10:16 #

pingback

Pingback from 468.jeepsunlimted.com

Cls500 Headlight Vehicle Body Kit, Cls500 Used Cls55 Amg Search - 468.jeepsunlimted.com

468.jeepsunlimted.com |

24/05/2010 0:22:28 #

pingback

Pingback from 110.codebluehacks.org

F 100 Pickup 1979 Ford F150, T100 Episode Pickup Toyota Land Cruiser - 110.codebluehacks.org

110.codebluehacks.org |

24/05/2010 0:52:55 #

pingback

Pingback from 74.mfbattle.com

2007 Mitsubishi Outlander New, Suzuki Grand Vitara Discount Jeep Outlander - 74.mfbattle.com

74.mfbattle.com |

24/05/2010 1:00:28 #

pingback

Pingback from 370.akemet.com

C10 Tahoe 98 Chevy Silverado, C100 Used Dey - 370.akemet.com

370.akemet.com |

24/05/2010 1:00:48 #

pingback

Pingback from 422.cmanager.org

Eurovan Travel Vw Vanagon, Vanagon Bulb Vw Bus Camper - 422.cmanager.org

422.cmanager.org |

24/05/2010 1:15:05 #

pingback

Pingback from 49.myipgirl.com

Car Parts 1997 Chrysler Concorde Wheel Covers, Chrysler Lhs Hood Auto Parts - 49.myipgirl.com

49.myipgirl.com |

24/05/2010 2:51:44 #

pingback

Pingback from 467.computeronlinebingo.com

C240 Sale Uk, C240 Parts Manual - 467.computeronlinebingo.com

467.computeronlinebingo.com |

24/05/2010 4:38:03 #

pingback

Pingback from 259.rkwrh.com

Suburban 8000, Suburban Oem Car Parts Chevrolet Camaro - 259.rkwrh.com

259.rkwrh.com |

24/05/2010 4:40:57 #

pingback

Pingback from 371.binggreen.com

Nissan Xterra Turbo, Nissan Xterra Armada For Sale - 371.binggreen.com

371.binggreen.com |

24/05/2010 5:00:23 #

pingback

Pingback from 336.unlockiphone30.net

Clk320 Trim High Quality, Mercedes Clk320 Fix - 336.unlockiphone30.net

336.unlockiphone30.net |

24/05/2010 5:17:49 #

pingback

Pingback from 161.zapstreaming.com

Jamaica Five Hundred Dollar, Five Star Magazine - 161.zapstreaming.com

161.zapstreaming.com |

24/05/2010 5:36:26 #

pingback

Pingback from 231.ja3ra.com

2001 Chrysler Neon Car, 2000 Dodge Neon Accessories Wood Dash Kits Sunroof Wind Deflector - 231.ja3ra.com

231.ja3ra.com |

24/05/2010 7:36:27 #

pingback

Pingback from 430.myipgirl.com

Oasis America Review Cancun, Oasis Noel Gallagher Blog Don T Look Back In Anger - 430.myipgirl.com

430.myipgirl.com |

24/05/2010 7:58:05 #

pingback

Pingback from 397.1fh.org

Windsor Factory Company Profile Employee, Sell Radisson Riverfront Hotel Windsor - 397.1fh.org

397.1fh.org |

24/05/2010 12:02:40 #

pingback

Pingback from 198.myipgirl.com

450sel Off Coupon, 450sel Craigslist - 198.myipgirl.com

198.myipgirl.com |

24/05/2010 12:32:26 #

pingback

Pingback from 273.animejin.com

C350 Used Benz C300 C32 Amg Sport Mercedes, C35 C3500 Pickup Discount Tail Light Sealed Beam Headlight - 273.animejin.com

273.animejin.com |

24/05/2010 15:39:13 #

pingback

Pingback from 395.renters.ws

Spirit Stallion Cimarron Region 2, Dodge Spirit Bulb Turn Signal - 395.renters.ws

395.renters.ws |

24/05/2010 18:10:14 #

pingback

Pingback from 229.tvshowzone.com

328ci Buy New Bmw Door, 328ci Corporate - 229.tvshowzone.com

229.tvshowzone.com |

24/05/2010 20:14:57 #

pingback

Pingback from 94.myipgirl.com

Mazda B2300 Autozone Ford Ranger Truck, B2300 Zone Clutch - 94.myipgirl.com

94.myipgirl.com |

24/05/2010 21:27:57 #

pingback

Pingback from 75.cmanager.org

Ford E 550 Super Duty Price Crew Cab, Ford Econoline Exhaust - 75.cmanager.org

75.cmanager.org |

25/05/2010 1:20:52 #

pingback

Pingback from 130.animejin.com

Used Cars Mercedes Benz 600sl, Movie 600sl - 130.animejin.com

130.animejin.com |

25/05/2010 3:40:36 #

pingback

Pingback from 427.tijuanareader.com

Precision Escalator Manual, Polar Precision Performance Sw - 427.tijuanareader.com

427.tijuanareader.com |

25/05/2010 5:38:22 #

pingback

Pingback from 404.codebluehacks.org

Discount Nikon D300 Body Shutter Release Uc E4 Usb Cable, D300 Old Nikon Camera - 404.codebluehacks.org

404.codebluehacks.org |

25/05/2010 5:41:16 #

pingback

Pingback from 398.tvshowzone.com

Gnc Infiniti G3500 Van, Problems 2004 Infiniti Qx56 - 398.tvshowzone.com

398.tvshowzone.com |

25/05/2010 5:42:31 #

pingback

Pingback from 405.dlmreza.net

Buy F 550 F450, Pickup Part Ford F450 - 405.dlmreza.net

405.dlmreza.net |

25/05/2010 5:44:49 #

pingback

Pingback from 369.dlmreza.net

Telegraph Terra Nova, Supernova Radiator Earthquake Sound Ash Wood - 369.dlmreza.net

369.dlmreza.net |

25/05/2010 8:32:26 #

pingback

Pingback from 255.unlockiphone30.net

Ford Granada Part Mercury Zephyr, Lamp Granada Spares - 255.unlockiphone30.net

255.unlockiphone30.net |

25/05/2010 10:15:50 #

pingback

Pingback from 362.tgrconversions.com

325i Specs Discount 325ix Bmw 318i, Clearance 318is - 362.tgrconversions.com

362.tgrconversions.com |

25/05/2010 19:05:20 #

pingback

Pingback from 25.binggreen.com

Honda Shadow Spirit Cover, 2001 Shadow Vlx 600 V Twin - 25.binggreen.com

25.binggreen.com |

25/05/2010 19:12:24 #

pingback

Pingback from 71.renters.ws

J2000 Thunderbird Chevy Buick Skyhawk, J2000 Sunbird Headlight Buy Pontiac Cavalier Tail Light Assembly - 71.renters.ws

71.renters.ws |

25/05/2010 21:21:31 #

pingback

Pingback from 241.codebluehacks.org

Aftermarket Quality Bmw 330i Cold Air Intake, 330i Promo Bmw M6 - 241.codebluehacks.org

241.codebluehacks.org |

25/05/2010 22:43:23 #

pingback

Pingback from 172.zapstreaming.com

1998 Acura Integra Pic, Engine Acura Integra Radiator Support - 172.zapstreaming.com

172.zapstreaming.com |

26/05/2010 0:42:34 #

pingback

Pingback from 138.dlmreza.net

Ramcharger Paintball Gun, Dodge Ramcharger Antiques - 138.dlmreza.net

138.dlmreza.net |

26/05/2010 1:58:01 #

pingback

Pingback from 227.codebluehacks.org

Volkswagen Fastback Full Fuel Injector, Dodge Fastback Had - 227.codebluehacks.org

227.codebluehacks.org |

26/05/2010 4:16:50 #

pingback

Pingback from 430.mfbattle.com

Carmax Dodge Sprinter 2005, Sprinter Van Installation Seats - 430.mfbattle.com

430.mfbattle.com |

26/05/2010 7:08:19 #

pingback

Pingback from 465.myipgirl.com

Price Mercedes Benz 300sdl Used, 300sdl Definitions - 465.myipgirl.com

465.myipgirl.com |

26/05/2010 7:20:19 #

pingback

Pingback from 268.defutbolazo.com

323 Part Mazda Rx7 Mean Platelet Volume, 1988 Rx7 Convertible Sale Extended - 268.defutbolazo.com

268.defutbolazo.com |

26/05/2010 9:46:23 #

pingback

Pingback from 138.luna-atra.net

Used S70xs Piano Sound, Volvo S70 Service Manual - 138.luna-atra.net

138.luna-atra.net |

26/05/2010 11:06:36 #

pingback

Pingback from 35.cmanager.org

Pb200 Removal Fits, Pb200 Testing Nmea 0183 - 35.cmanager.org

35.cmanager.org |

26/05/2010 11:48:45 #

pingback

Pingback from 218.an74.com

2001 Maxima Colors, 2001 Maxima Colors - 218.an74.com

218.an74.com |

26/05/2010 13:15:12 #

pingback

Pingback from 41.1fh.org

Mercedes S600 Amg V12, Mercedes Benz S600 Discount E63 Amg - 41.1fh.org

41.1fh.org |

Comentarios no permitidos