without visual tutorial studio setup services c# windows-services install

c# - visual - Credenciales al instalar el servicio de Windows



windows service installer (4)

  1. Abra su ProjectInstaller
  2. Haga clic derecho en ProcessInstaller y elija propiedades
  3. En el menú desplegable Cuenta, en Varios, seleccione la cuenta en la que desea que se ejecute su servicio como

Para obtener detalles de las diferentes cuentas y sus privilegios, consulte el siguiente enlace:

http://msdn.microsoft.com/en-us/library/system.serviceprocess.serviceaccount.aspx

Estoy intentando instalar un proyecto de servicio de Windows C # utilizando un proyecto de implementación de VisualStudio.Net.

Para ejecutar el proyecto de implementación, hago clic derecho y selecciono "instalar" desde el menú contextual, el asistente de instalación se ejecuta y, finalmente, me solicita un diálogo "Establecer inicio de sesión de servicio" que solicita el nombre de usuario y la contraseña.

Cuando instalo un servicio usando la herramienta sc desde la línea de comando, no tengo que proporcionar credenciales.

¿Tengo que crear un inicio de sesión solo para este servicio? Preferiría usar "Sistema local" o "Servicio de red" (no estoy seguro de cuál es la diferencia) como lo hacen otros servicios.


En el proyecto que contiene el servicio, agregue una clase Installer. Haz que se vea algo como esto:

[RunInstaller(true)] public class MyServiceInstaller : Installer { public MyServiceInstaller() { ServiceProcessInstaller serviceProcessInstaller = new ServiceProcessInstaller(); serviceProcessInstaller.Account = ServiceAccount.LocalSystem; // Or whatever account you want var serviceInstaller = new ServiceInstaller { DisplayName = "Insert the display name here", StartType = ServiceStartMode.Automatic, // Or whatever startup type you want Description = "Insert a description for your service here", ServiceName = "Insert the service name here" }; Installers.Add(_serviceProcessInstaller); Installers.Add(serviceInstaller); } public override void Commit(IDictionary savedState) { base.Commit(savedState); // This will automatically start your service upon completion of the installation. try { var serviceController = new ServiceController("Insert the service name here"); serviceController.Start(); } catch { MessageBox.Show( "Insert a message stating that the service couldn''t be started, and that the user will have to do it manually"); } } }

Luego, en el explorador de soluciones, haga clic derecho en el proyecto de implementación y seleccione "Ver> Acciones personalizadas". Haga clic con el botón derecho en Acciones personalizadas y seleccione "Agregar acción personalizada ..." Seleccione la Carpeta de la aplicación y seleccione la salida principal del proyecto que contiene el servicio. Ahora las acciones personalizadas ( Commit from above) se ejecutarán luego de la instalación. Puede agregar los métodos adicionales ( Install , Rollback , Uninstall ) si necesita otras acciones personalizadas.


Verifique este enlace: http://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx

Preste atención a esta sección: Para crear los instaladores para su servicio

Haga cambios a su ServiceProcessInstaller:

En el diseñador, haga clic en ServiceProcessInstaller1 para un proyecto de Visual Basic o serviceProcessInstaller1 para un proyecto de Visual C #. Establezca la propiedad Cuenta en LocalSystem. Esto hará que el servicio se instale y se ejecute en una cuenta de servicio local.


Agregue este código a su método private void InitializeComponent() en el archivo projectInstaller.Designer.cs en su proyecto de servicio de Windows.

this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem;

si la definición de tu proceso instalador es:

private System.ServiceProcess.ServiceProcessInstaller serviceProcessInstaller1;