2010-10-01 8 views
31

No entiendo la diferencia entre System.ServiceProcess.ServiceProcessInstaller y System.ServiceProcess.ServiceInstaller. De los metadatos: el primero instala un ejecutable y el segundo una clase. Después de leer el ejemplo de MSDN donde hay un ServiceProcessInstaller y dos ServiceInstaller (s) con diferentes ServiceName (s), estaba completamente perdido.Diferencia entre ServiceProcessInstaller y ServiceInstaller

¿Hay una explicación clara?

Respuesta

42

Es posible que un archivo ejecutable contenga varios servicios. En tal caso, tendrá un ServiceInstaller que representa cada servicio, pero un único ServiceProcessInstaller, que representa el ejecutable.

Cada servicio se implementa (en .NET) como una clase diferente. Pero los servicios múltiples (si están todos comenzados) compartirían un AppDomain (creo). Probablemente sea bastante raro que necesite dicha configuración, y en la mayoría de los casos, hay una asignación 1-1 entre ejecutables y servicios (para que solo tenga un solo ServiceInstaller y ServiceProcessInstaller en el ejecutable).