Le programme de console C# ne peut pas envoyer de télécopie lorsqu'il est exécuté en tant que tâche planifiée

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

  •  09-06-2019
  •  | 
  •  

Question

J'ai un programme console écrit en C# que j'utilise pour envoyer des fax.Lorsque je parcours le programme dans Visual Studio, cela fonctionne correctement.Lorsque je double-clique sur le programme dans l'Explorateur Windows, cela fonctionne correctement.Lorsque je configure une tâche planifiée Windows pour exécuter le programme, cela échoue dans le journal des événements.

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.

J'ai écrit un fichier batch pour exécuter le programme de fax et il échoue avec ce message.

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

Quelqu'un peut-il m'expliquer ce comportement ?

Était-ce utile?

La solution

Je ne peux pas l'expliquer, mais j'ai quelques idées.

La plupart du temps, lorsqu'un programme fonctionne correctement en le testant, mais pas lors de sa planification, la sécurité est le cas.Dans le contexte de quel utilisateur votre programme est-il programmé ?Peut-être que cet utilisateur ne dispose pas d'un accès suffisant.

La ressource que votre programme tente d'accéder à un lecteur réseau est-elle que l'utilisateur exécutant la tâche planifiée n'a tout simplement pas ?

Autres conseils

Vérifiez que vous avez défini le répertoire de travail correct pour votre tâche

La tâche planifiée s'exécute-t-elle sur le même ordinateur sur lequel vous développez ou sur un serveur olp dédié ?Il est assez courant que les chemins changent lorsque vous changez d'environnement. Le chemin d'accès au document que vous essayez d'envoyer est-il donc le même ?

Je suis d'accord avec MartinNH.

Beaucoup de ces problèmes proviennent du fait que vous développez alors que vous êtes connecté en tant qu'administrateur dans Visual Studio (le programme dispose donc de toutes les autorisations d'exécution correctement définies) mais que vous déployez en tant qu'utilisateur avec des privilèges moindres.

Essayez de définir les privilèges de l'utilisateur du planificateur de tâches plus haut.

Si vous utilisez Vista, vous constaterez peut-être que l'élévation vous gêne.Vous devrez peut-être vous assurer que votre tâche s'exécute en tant qu'administrateur approprié et non en tant qu'utilisateur restreint.

Lorsque vous exécutez une tâche planifiée, vous pouvez la faire exécuter sous un utilisateur.Vérifiez que l'utilisateur qui exécute la tâche de planification dispose des mêmes droits que vous sur la ressource de télécopie.C'est pourquoi vous pouvez l'exécuter lorsque vous double-cliquez dans Windows Explorer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top