2011-06-16 18 views
16

Tengo un servicio de Windows y un proyecto de configuración. Cuando hago clic derecho sobre el proyecto de instalación y haga clic en Instalar me pediráInstalación del servicio de Windows: no se realizó ninguna asignación entre los nombres de cuenta y las identificaciones de seguridad.

  • nombre de usuario
  • contraseña
  • Confirmar contraseña

He tratado de las siguientes combinaciones

. \ UsUaRiO MyDomain \ MyUserName

pero viene de vuelta con el siguiente error

ninguna asignación entre nombres de cuenta y de identificación de seguridad se realizaron

ServiceProcessInstaller

namespace TestService 
{ 
    [RunInstaller(true)] 
    public partial class ProjectInstaller : System.Configuration.Install.Installer 
    { 

     public ProjectInstaller() 
     { 
      InitializeComponent(); 

      this.serviceProcessInstaller1.Account = ServiceAccount.User; 
      this.serviceProcessInstaller1.Username = @".\MyUserName"; //username; 
      this.serviceProcessInstaller1.Password = "123456"; // password; 

      // Add installers to collection. Order is not important. 
     } 

     private void serviceInstaller1_AfterInstall(object sender, InstallEventArgs e) 
     { 

     } 

     private void serviceProcessInstaller1_AfterInstall(object sender, InstallEventArgs e) 
     { 

     } 
    } 
} 

Para ser honesto, ni siquiera estoy seguro de por qué me pide para un nombre de usuario y contraseña si lo configuro en el código ...

Respuesta

8

Su formato DOMAIN \ USERNAME es correcto para un dominio, pero si usa un loc al nombre de usuario, use el nombre de la computadora para el nombre de dominio. Si su nombre de host es FOO y su nombre de usuario es BAR, usaría FOO \ BAR.

¿Está seguro de que su cuenta de usuario puede escalar, correcto? Es posible prohibir eso a través de la red y la política de seguridad local.

Pruébalo con una cuenta de administrador si no funciona.

19

favor cruzar comprobar si ha realizado los siguientes pasos (especialmente el paso 5):

1. Después de crear el proyecto de servicio de Windows ir a la vista de diseño de la clase de servicio (hacer doble clic en la clase Service1.cs)

2.En la vista de diseño, haga clic con el botón derecho y seleccione Agregar instalador. Esto creará una clase Installer llamada ProjectInstaller.cs. Sin ProjectInstaller.cs o cualquier error en la configuración de ProjectInstaller.cs puede resultar en la no presentación del servicio en la consola de servicio.

3.Go a la vista de diseño de ProjectInstaller.cs se encuentran dos instaladores allí->

a.**ServiceInstaller1** 

    b.**ServiceProcessInstaller1** 

4.Right clic ServiceInstaller1 e ir a la pestaña de propiedades

a.Edit the ServiceName with the name you want to 

ver su servicio en la consola de servicio.

b.Change the **StartType** to **Automatic**. 

5.Right clic ServiceProcessInstaller1 e ir a la pestaña de propiedades

a.Change the account to **LocalService** 

Guardar y probarlo.

Hope esto le ayudará a ........

+2

Esto funcionó para mí, gracias. Si quiero configurar un usuario más específico, siempre puedo hacerlo después de instalar el servicio. – 2GDave

+1

5 años después y sigue siendo una respuesta válida –

0

Haga clic derecho ServiceProcessInstaller1 e ir a la pestaña de propiedades

Change the account to **LocalService** 

Esto funcionó para mí

Cuestiones relacionadas