2009-08-05 18 views

Respuesta

3
+0

¿Se puede utilizar para configurar el nombre de usuario y la contraseña en el tiempo de ejecución (en lugar de en tiempo de compilación)? ¿No necesitaría poder acceder a los instaladores que ya están compilados en su ejecutable de servicio? Probablemente tendré que ir a la ruta WMI en su lugar. –

+0

Su servicio puede tener su propia clase de instalador que hereda de "System.Configuration.Install.Installer". Usamos esta clase heredada y asociamos un formulario con ella. El formulario aparece durante la instalación y solicita varias cosas, incluido usuario/contraseña. Luego, en la clase Installer, anula OnBeforeInstall y me configura.ServiceProcessInstaller1.Username. – MattH

+0

¿Y modificar la cuenta de servicio de Windows para WinService que todavía existe? – Kiquenet

0

Hay un poco acerca de cómo configurar los parámetros de servicio y otras cosas en su A Windows Service without a template en la página 5 de la broca sobre la personalización de un servicio.

-1

Normalmente, podrá pasar esas credenciales a la clase Installer. Puede codificarlo o pasarlo como un argumento de línea de comandos. El segundo enfoque es más apropiado, pero requerirá que analice los argumentos de la línea de comandos innecesariamente.

os propongo un tercer enfoque ...

<ShamelessPlug>

Hola! Soy un desarrollador de un servicio de Windows abierto que aloja el marco llamado Daemoniq. Y al pasar las credenciales a través de la línea de comandos es una de las características de . Puede descargarlo desde http://daemoniq.org

características actuales incluyen:

  • contenedor de ubicación de servicio a través de los agnósticos CommonServiceLocator
  • propiedades de uso común mencionados como serviceName, idioma, descripción y serviceStartMode través app.config
  • ejecutar múltiples servicios de Windows en el mismo proceso
  • establecer opciones de recuperación a través de app.config
  • servicios establecidos dependían través app.config credenciales
  • conjunto de procesos de servicio a través de línea de comandos
  • instalar, desinstalar, los servicios de depuración a través de línea de comandos

</ShamelessPlug >

¡Aclamaciones!

+0

plug shameless para algo que ya no existe. – Grubsnik

4

La siguiente adición al instalador del proyecto asignará la información de inicio de sesión del servicio durante la instalación.

public ProjectInstaller() 
    { 
     InitializeComponent(); 

     serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.<account type>; 
     serviceProcessInstaller1.Username = <domain\userId>; 
     serviceProcessInstaller1.Password = <password>; 
    } 
+0

Si no especifica una Cuenta en el código y tiene la propiedad ServiceProcessInstaller para la Cuenta establecida en Usuario, se abrirá un diálogo de formulario durante la instalación que permitirá a la persona que realiza la instalación especificar una cuenta de usuario y contraseña de dominio. – JohnL

Cuestiones relacionadas