2009-01-22 10 views
5

Estoy tratando de instalar el servicio de Windows usando la biblioteca Microsoft.Sdc.Tasks.Instalar un servicio win32 usando MSBuild y Microsoft.Sdc.Tasks

<ControlService Action="Install" 
    ServiceName="Service1" 
    User="XXX 
    Password="XXX" 
    ServiceExePath="$(DeployFolder)\XXX.exe"/> 

Pero me pide para el usuario y la contraseña! Esto no funcionará como me gustaría tenerlo como compilación automática en el servidor de compilación. Quiero decir, el usuario y la contraseña con los que quiero ejecutar el servicio están en el objetivo real. ¿Cómo obtengo que instale el servicio utilizando el usuario y la contraseña configurados y no lo solicito?

Respuesta

4

Encontrados this post y dado que todo mi servicio es escribir y leer desde un archivo local, debería estar bien ejecutando bajo la cuenta de Servicio local en lugar de un usuario específico. Incluso después de haber actualizado el instalador del servicio, ControlService -target requiere un usuario y contraseña para ejecutar pero , entonces en realidad no lo hago para obtener el usuario y la contraseña. Pero entonces no quiero ejecutar un usuario específico y el objetivo falla cuando no se proporciona un usuario y una contraseña en la configuración ... Extraño.

Lo resolví mediante un bombardeo en InstallUtil.exe. Eso funciona bien después de configurar el instalador de servicios de I set para que se ejecute como una cuenta de servicio local.

<Exec WorkingDirectory="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" 
      Command="InstallUtil.exe -i XXX.exe" /> 
+1

Esto sólo se instalará el servicio en el servidor de compilación. Si desea instalarlo en un servidor remoto, debe usar la tarea servicecontroller desde aquí: http://weblogs.asp.net/scottgu/archive/2006/02/12/438061.aspx –

Cuestiones relacionadas