Creo que esta es la opción correcta por 2 motivos:1.- Es una aplicación para el 
usuario. Tiene que instalarla y como dicen por ahi cambia el desktop del 
usuario, no algo comun a todos.2.- Los servicios son eso justamente, un 
servicio, algo que corre a nivel de sistema operativo y que agrega alguna 
funcionalidad al sistema operativo. En general si te fijas en otras 
aplicaciones que son background y de usuario, vas a ver que cuando mucho tienen 
un servicio "de soporte" por ejemplo que está controlando si la aplicación en 
cuestión sigue viva y si no la vuelve a arrancar. No es el servicio el que 
ejecuta la tarea.
Saludos.
Jorge Monsalvo
      De: Alejandro Miralles <[email protected]>
 Para: [email protected] 
 Enviado: Jueves, 15 de enero, 2015 10:09:05
 Asunto: [puntonet] C# Windows Service
   
<!--#yiv5379562431 _filtered #yiv5379562431 {font-family:"Cambria 
Math";panose-1:2 4 5 3 5 4 6 3 2 4;} _filtered #yiv5379562431 
{font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;}#yiv5379562431 
#yiv5379562431 p.yiv5379562431MsoNormal, #yiv5379562431 
li.yiv5379562431MsoNormal, #yiv5379562431 div.yiv5379562431MsoNormal 
{margin:0cm;margin-bottom:.0001pt;font-size:12.0pt;font-family:"Times New 
Roman", serif;}#yiv5379562431 a:link, #yiv5379562431 
span.yiv5379562431MsoHyperlink 
{color:blue;text-decoration:underline;}#yiv5379562431 a:visited, #yiv5379562431 
span.yiv5379562431MsoHyperlinkFollowed 
{color:purple;text-decoration:underline;}#yiv5379562431 
span.yiv5379562431EmailStyle17 {font-family:"Calibri", 
sans-serif;color:#1F497D;}#yiv5379562431 .yiv5379562431MsoChpDefault 
{font-family:"Calibri", sans-serif;} _filtered #yiv5379562431 {margin:70.85pt 
3.0cm 70.85pt 3.0cm;}#yiv5379562431 div.yiv5379562431WordSection1 {}-->Yo 
probaría con una aplicación WinForms corriendo en backgourd, que vaya a parar 
al sistem tray. 
http://stackoverflow.com/questions/995195/how-can-i-make-a-net-windows-forms-application-that-only-runs-in-the-system-tra
  Si bien es posible especificar que el servicio Windows corra con la cuenta 
“local system” (o algo así) con acceso root al OS, al menos a mí, me parece too 
much…De todas formas, si queres ir con esta opción, cuando armas el instalador 
del servicio (utilizando Visual Studio) vas a ver que una de las opciones que 
tenes que configurar es: “Con que cuenta va correr el servicio”, ahí le podes 
decir es network service, local system, usr, etc… etc… Dependiendo de la opcion 
que elijas podras hacer mas o menos cosas.Pero como te decía antes, creo que la 
aplicación WinForms podría ir bien, sobre todo si ya comprobaste que desde la 
consola funciona correctamente.  Saludos, Ale Miralles.http://amiralles.net    
From: [email protected] [mailto:[email protected]] On Behalf Of Leandro 
Halfon
Sent: jueves, 15 de enero de 2015 09:30 a.m.
To: [email protected]
Subject: [puntonet] C# Windows Service  Carlos, gracias pro tu respuesta.  El 
problema es que lo tengo que hacer con un instalador ya que apunta a usuarios 
finales. ¿hay alguna forma de decirle al servicio que lo haga con un usuario 
administrador?   Porque cada usuario puede tener usuario/pwd diferentes..  
2015-01-15 9:24 GMT-03:00 Carlos Peix <[email protected]>:
Leandro,  Yo he hecho algunos servicios windows para tareas programadas hasta 
que me di cuenta de que, para muchas cosas, basta con el scheduler (o at en la 
linea de comando). Probaste con eso?  Por otro lado y apuntando a lo que 
mencionas, probablemente funcione desde la linea de comando cuando estas 
logueado vos pero no desde el servicio porque se ejecuta en el contexto de una 
cuenta del sistema que seguramente ni siguiera tiene permisos para iniciar 
sesión, mucho menos para configurar el desktop.  Dado que deseas cambiar una 
configuracion de tu perfil, sugiero que le configures al servicio tu cuenta de 
usuario, pero puede molestar cuando cambies tu contraseña.  Este problema 
tambien lo tendras con el scheduler, desde ya. Podrias probar con un script que 
se corra al iniciar sesion.
----------------------------------
Carlos Peix  2015-01-15 8:46 GMT-03:00 Leandro Halfon <[email protected]>:
Hola Lista!  Les comento que tengo creado un servicio de windows que lo que 
hace es cambiar el wallpaper de la pc cada día.La funcion que cambia el 
wallpaper, en un programa de consola, funciona perfecto pero al hacerlo dentro 
de un servicio de windows NO funciona.  Probé poniendolo con una cuenta local y 
habilitandolo la funcion de "interactuar con el escritorio" y sigue sin 
funcionar. Lo peor de todo es que no tira ningún error.  ¿Alguna idea de cómo 
lo puedo solucionar?¿Alguna alternativa que no sea con un servicio de windows?  
Gracias!
  
  

  

Responder a