2009-01-20 18 views
48

¿Es posible implementar un servicio de Windows con ClickOnce? Si es así, ¿cómo lo logras?ClickOnce ¿implementar un servicio de Windows?

Actualmente tenemos que usar un proyecto de implementación, y el proceso de instalación se puede simplificar enormemente mediante el uso de ClickOnce.

Respuesta

-9

Puede utilizar la implementación de ClickOnce para instalar un servicio de Windows. Sin embargo, en mi experiencia cada vez que se emite una actualización, se requiere la intervención del usuario y eso normalmente rompe la razón por la que el programa se ejecuta como un servicio de Windows.

Sin embargo, un problema que nunca funcionó completamente para el servicio de Windows, fue ejecutar installutil.exe para instalar el servicio en la lista de servicios de Windows. Pero eso no fue un problema para las circunstancias en las que implementé.

28

AFAIK no se puede usar ClickOnce de extremo a extremo para implementar un servicio; Hay problemas tanto con la ubicación de los archivos (las instalaciones de ClickOnce en el perfil de un usuario) como con la instalación (ClickOnce es en su mayoría sin efectos secundarios).

Puede, sin embargo, escribir un servicio como un exe que puede autoinstalarse/desinstalarse de la lista de servicios, like so; básicamente, lo escribe como un administrador de consola y maneja algunos argumentos de línea de comando, usando AssemblyInstaller para [un] instalar desde el ensamblado actual. Otra ventaja es que el mismo enfoque se puede utilizar para ayudar a la depuración, ya que puede ejecutarlo desde la línea de comandos.

+6

Es posible que desee comprobar el proyecto Topshelf como un contenedor que le da fácil acceso a funciones extensibles como autoinstalación/desinstalación. http://topshelf-project.com/ –

1

En lugar de ClickOnce, me gusta usar el enfoque utilizando la disposición de Inno, como aquí https://stackoverflow.com/a/1450051/396200

Usted tiene más control sobre qué y cómo va a ser copiado y ejecutado.

Como dijo Marc Gravell en su respuesta, creo un exe que autoinstalo mi servicio, y luego uso Inno Setup para empacarlo e implementarlo. Después de la instalación de Inno instalada, ejecuta automáticamente el exe y luego mi exe instala mi servicio.

+0

HAHAHAHA. Pascal scripting?!?! Escrito en Borland Delpli?!?!? Oh chico ....: D Eso hizo mi día. Gracias Señor. – MoonStom

Cuestiones relacionadas