2011-01-28 29 views
7

Tengo un problema al instalar un servicio de Windows. Instalé y desinstalé el servicio varias veces (installutil ..... installutil/u) sin ningún problema, pero algo salió mal y ahora, cuando intento instalarlo, aparece el mensaje de error que se muestra a continuación. Revisé la consola de administración de la computadora y el servicio CIMediator no aparece en la lista de servicios. ¿Cómo elimino el servicio?Problema al instalar el servicio de Windows

System.ArgumentException: Source CIMediator ya existe en la computadora local.

Respuesta

0

Compruebe si la clave todavía está allí en el registro.

HKLM \ System \ CurrentControlSet \ Services \ CIMediator (probablemente, si la llave no se define de manera diferente)

Si es así, exportar la clave a un archivo .reg y luego eliminarlo.

14

Acabo de resolver el mismo problema, también después de numerosas desinstalaciones/instalaciones/reinicios. tengo mi propia implementación del servicio de instalador (derivado de [System.Configuration.Install.Installer] [1]) de aplicación, y he especificado EventLog de la siguiente manera:

public ProjectInstaller() 
    { 
     InitializeComponent(); 

     EventLogInstaller installer = FindInstaller(this.Installers); 
     if (installer != null) 
     { 
      installer.Log = "MyService";     
     } 
    }  

Es posible que tenga la misma función implementó el siguiente manera ([MSDN: Método EventLog.CreateEventSource] [2]):

if(!EventLog.SourceExists("MySource")) 
{ 
    EventLog.CreateEventSource("MySource", "MyNewLog"); 
} 

En mi caso, durante algunas de las instalaciones EventLog fue creado exitosamente, pero durante la desinstalación algo salió mal, y no se ha eliminado EventLog (aunque no se mostraba en EventViewer, todavía estaba presente en e registro). Así que el error "MiServicio ya existe en la computadora local", obviamente fue un error sobre EventLog, no el servicio en sí.

Se podría tratar de hacer lo siguiente:

Ir al menú Inicio y escriba regedit. Esto abrirá el Editor del Registro. Tenga cuidado con esto, siempre se recomienda realizar una copia de seguridad de todo el registro antes de hacer cualquier cosa (Archivo -> Exportar), o solo las teclas que está a punto de editar/eliminar. Abrir Edición -> Buscar, escriba CIMediator y solo deje las teclas marcadas. Su nombre del servicio debe aparecer como tecla varias veces, en las siguientes ubicaciones

HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services \ Eventlog \ CIMediator,
HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services \ CIMediator,
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Eventlog \ CIMediator,
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ CIMediator

intenta eliminar estas claves. Funcionó para mí

1 2

+0

solución perfecta. Encontré claves generadas en el registro. Estoy seguro de que no lo he instalado a través de la carpeta Project Bin. Me pregunto cómo se creó la clave de registro sin instalar. solo curiosidad. Sin embargo, eliminar las claves existentes resolvió mi problema. Gracias. –

Cuestiones relacionadas