El programa de consola C# no puede enviar faxes cuando se ejecuta como una tarea programada

StackOverflow https://stackoverflow.com/questions/37189

  •  09-06-2019
  •  | 
  •  

Pregunta

Tengo un programa de consola escrito en C# que estoy usando para enviar faxes.Cuando reviso el programa en Visual Studio, funciona bien.Cuando hago doble clic en el programa en el Explorador de Windows, funciona bien.Cuando configuro una tarea programada de Windows para ejecutar el programa, falla esto en el registro de eventos.

EventType clr20r3, P1 consolefaxtest.exe, P2 1.0.0.0, 
P3 48bb146b, P4 consolefaxtest, P5 1.0.0.0, P6 48bb146b, 
P7 1, P8 80, P9 system.io.filenotfoundexception, 
P10 NIL.

Escribí un archivo por lotes para ejecutar el programa de fax y falla con este mensaje.

Unhandled Exception: System.IO.FileNotFoundException: Operation failed.
at FAXCOMEXLib.FaxDocumentClass.ConnectedSubmit(FaxServer pFaxServer)

¿Alguien puede explicarme este comportamiento?

¿Fue útil?

Solución

No puedo explicarlo, pero tengo algunas ideas.

La mayoría de las veces, cuando un programa funciona bien probándolo y no cuando lo programa, la cuestión es la seguridad.¿En el contexto de qué usuario está programado su programa?Quizás a ese usuario no se le haya concedido suficiente acceso.

¿El recurso al que su programa intenta acceder es una unidad de red que el usuario que ejecuta la tarea programada simplemente no tiene?

Otros consejos

Compruebe que haya configurado el directorio de trabajo correcto para su tarea

¿La tarea programada se ejecuta en la misma computadora en la que está desarrollando o está en un servidor olp dedicado?Es bastante común que las rutas cambien cuando cambia de entorno, entonces, ¿la ruta al documento que está intentando enviar es la misma?

Estoy de acuerdo con MartinNH.

Muchos de estos problemas se deben al hecho de que usted desarrolla mientras está conectado como administrador en Visual Studio (por lo que el programa tiene todos los permisos de ejecución configurados correctamente), pero lo implementa como un usuario con privilegios menores.

Intente establecer mayores privilegios para el usuario del programador de tareas.

Si está ejecutando en Vista, es posible que la elevación se interponga en su camino.Es posible que deba asegurarse de que su tarea se ejecute como administrador adecuado, no como usuario restringido.

Cuando ejecuta una tarea programada, puede ejecutarla bajo un usuario.Verifique que el usuario que ejecuta la tarea programada tenga los mismos derechos que usted para el recurso de fax.Es por eso que puedes ejecutarlo cuando haces doble clic en el Explorador de Windows.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top