2012-05-04 19 views
5

estoy tratando de instalar un servicio de Windows que hice con el siguiente comando:Tratando de instalar la aplicación de servicio de Windows creado con C#

C: \ $ (MisArchivos) \ Proyectos \ Win Servicio \ C# \ filechecker \ filechecker \ bin \ Test> InstallU til.exe filechecker.exe

pero yo estoy recibiendo el siguiente mensaje:

la ejecución de una instalación tramitada.

Comenzando la fase de instalación de la instalación. Consulte el contenido del archivo de registro para el progreso del ensamblado C: \ $ (Mis archivos) \ Projects \ Win Service \ C# \ filechecker \ filechecker \ bin \ Debug \ filechecker.exe. El archivo se encuentra en C: \ $ (MyFiles) \ Projects \ Win Service \ C# \ filechecker \ filechecker \ bin \ Debug \ filechecker.InstallLog.

Ocurrió una excepción durante la fase de instalación. System.ArgumentException: debe especificar el valor para el origen.

La fase de restitución de la instalación está comenzando. Consulte el contenido del archivo de registro para el progreso del ensamblado C: \ $ (Mis archivos) \ Projects \ Win Service \ C# \ filechecker \ filechecker \ bin \ Debug \ filechecker.exe. El archivo se encuentra en C: \ $ (MyFiles) \ Projects \ Win Service \ C# \ filechecker \ filechecker \ bin \ Debug \ filechecker.InstallLog.

La fase de restitución finalizó correctamente.

La transacción finalizó.

Ejecución de una transacción de instalación.

Comenzando la fase de instalación de la instalación. Consulte el contenido del archivo de registro para el progreso del ensamblado C: \ $ (Mis archivos) \ Projects \ Win Service \ C# \ filechecker \ filechecker \ bin \ Debug \ filechecker.exe. El archivo se encuentra en C: \ $ (MyFiles) \ Projects \ Win Service \ C# \ filechecker \ filechecker \ bin \ Debug \ filechecker.InstallLog.

Ocurrió una excepción durante la fase de instalación. System.ArgumentException: debe especificar el valor para el origen.

La fase de restitución de la instalación está comenzando. Consulte el contenido del archivo de registro para el progreso del ensamblado C: \ $ (Mis archivos) \ Projects \ Win Service \ C# \ filechecker \ filechecker \ bin \ Debug \ filechecker.exe. El archivo se encuentra en C: \ $ (MyFiles) \ Projects \ Win Service \ C# \ filechecker \ filechecker \ bin \ Debug \ filechecker.InstallLog.

La fase de restitución finalizó correctamente.

La transacción finalizó.

¿Cómo puedo resolver este problema?

+0

¿Qué dice el archivo de registro? – Matt

+0

este es el archivo de registro en realidad – themis

+3

He tenido los problemas muchas veces en el pasado y he descubierto que la razón es la mayor parte del tiempo para hacer con errores/excepciones, etc. en el código. Por mucho, la forma más fácil de resolver este problema es crear otro proyecto con el mismo código exacto que tiene en su servicio de Windows y hacer de este proyecto una aplicación de consola o algo así. Luego ejecuta este código e inmediatamente verás dónde está el error. Confía en mí, te ahorrará horas de dolor. –

Respuesta

9

Un ServiceInstaller siempre crea una fuente de registro de eventos y establece el nombre Source a la ServiceName.El error me sugiere que no está configurando el ServiceName en su instancia ServiceInstaller (aunque esperaba un mejor error).


A menos que usted repite manualmente su colección instaladores y quita, después de que se crea una instancia. También debe asegurarse de desactivar todos los registros automáticos y/o agregar manualmente su propio EventLogInstaller usando el mismo nombre de fuente; esto puede ser útil si desea que todos los inicios de sesión del servicio (incluido el registro automático) vayan a en algún lugar otro que el registro de eventos de la aplicación.

Cuestiones relacionadas