Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Windows > Win XP

Win XP Forum d'entraide Windows XP. Avant de poster : La F.A.Q Windows XP

Réponse
 
Outils de la discussion
Vieux 05/09/2008, 00h17   #1 (permalink)
Nouveau membre du Club
 
Date d'inscription: janvier 2006
Messages: 74
Par défaut Planification de tâche

Bonjour,
J'ai un petit soucis de planification de tache.
Mon programme créer une tache planifiée dans windows, via la Task Scheduler Library (http://www.codeproject.com/KB/cs/tsnewlib.aspx).

Mon soucis c'est que j'ai besoin de lancer cette tache dans un autre compte et ne pas être logge. J'ai décoché l'option : "run only if logged on" et indiqué le compte et le password ou je veux qu'elle s'exécute.

La tache se lance correctement mais pas l'application j'ai cette erreur :

Code :
Unhandled Exception: System.InvalidOperationException: Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.
   at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
   at System.Windows.Forms.Form.ShowDialog()
   at AGSUploader.LoadingWorker.DoWork()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
Si je lancer l'application via le planificateur sur mon compte cela fonctionne sans soucis .
Mon soucis c'est que j'ai bien des forms, crée en .NET qui se lance et qui télécharge/upload des fichiers.
Comment faire ?

J'ai vu et testé la commande AT, cela marche avec AT /interactive mais les options sont trop limitées (au niveau des répétitions des jours, des semaines ...) et je préférerais utiliser la librairie comme je le fais, tout fonctionne correctement !

Merci
denebj est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/09/2008, 01h00   #2 (permalink)
Membre expérimenté
 
Avatar de Senji
 
Date d'inscription: juillet 2008
Messages: 573
Par défaut

salut,
et la commande schtasks ne te convient pas?

bye
__________________
Merci de lire les réponses jusqu'à compréhension!!!
RTFM

Vive les bananes
______________
Senji est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/09/2008, 15h19   #3 (permalink)
Nouveau membre du Club
 
Date d'inscription: janvier 2006
Messages: 74
Par défaut

je n'ai pas le paramètre /IT sous XP, qui semble être l'équivalent du /Interactive
denebj est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/09/2008, 17h41   #4 (permalink)
Responsable Windows
 
Avatar de shawn12
 
Date d'inscription: avril 2006
Localisation: Aveyron, France
Âge: 22
Messages: 1 531
Par défaut

Tu a regardé l'aide en faisant :
Code :
schtasks /?
ou
Code :
schtasks /create /?
shawn12 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/09/2008, 19h12   #5 (permalink)
Nouveau membre du Club
 
Date d'inscription: janvier 2006
Messages: 74
Par défaut

Oui j'ai deja regardé et il n'a pas le mode /IT.
J'ai a priori trouvé la solution, puisque cet façon ne semble pas possible, je passe par les services windows, avec l'outil Fire deamon qui transforme mon appli en service avec un paquet d'option configurable (planification, un mode interactif, choix du compte ...) et cela fonctionne si personne n'est logge et si une personne est loggee et que le lancement de l'appli se fait sur un autre compte. Le service peut se créer en ligne de commande avec un fichier XML pour les options donc c'est niquel ! Le seul soucis, c'est payant, mais pas tres cher, 50-100$ Je ne pense pas qu'il y ai une solution viable en ne passant que par les taches planifiées
denebj est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/09/2008, 15h36   #6 (permalink)
Responsable Windows
 
Avatar de shawn12
 
Date d'inscription: avril 2006
Localisation: Aveyron, France
Âge: 22
Messages: 1 531
Par défaut

C'est curieux que tu ne trouve pas /IT parce que je l'ai trouvé dans la documentation de la commande :
Code :
SCHTASKS /Create [/S système [-u utilisateur [/P [mot_passe]]]]
    [/RU nom_utilisateur [/RP mot_passe]] /SC planification
    [/MO modificateur] [/D jour]
    [/M mois] [/I temps_inactivité] /TN nom_tâche /TR exécution_tâche
    [/ST heure_début]
    [/RI intervalle] [ {/ET heure_fin | /DU durée} [/K] [/XML fichier_xml] [/V1]
]
    [/SD date_démarrage] [/ED date_fin] [/IT | /NP] [/Z] [/F]

Description :
    Permet à un administrateur de créer des tâches planifiées sur un système
    local ou distant.

Liste de paramètres :
[...]
    /IT                Permet à la tâche de s'exécuter de façon interactive seul
ement si l'utilisateur spécifié avec /RU
                       a une session ouverte au moment où le travail s'exécute.
                       Cette tâche s'exécute seulement si l'utilisateur a ouvert
 une session.
[...]
shawn12 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/09/2008, 17h09   #7 (permalink)
Nouveau membre du Club
 
Date d'inscription: janvier 2006
Messages: 74
Par défaut

Oui, c'est bien cela le problème, elle est dans les specs ,mais si je fais un SCHTASKS /Create /? il n'y a pas l'option /IT ou /NP ... Et si j'essaie de lancer la commande avec, il ne l'a reconnaît pas a cause de ce paramètre !! (Je suis sous XP Pro, connecté en admin)
denebj est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/09/2008, 19h10   #8 (permalink)
Membre expérimenté
 
Avatar de Senji
 
Date d'inscription: juillet 2008
Messages: 573
Par défaut

pourtant SI


je vais faire un test et te donne un resultat après.

bye
__________________
Merci de lire les réponses jusqu'à compréhension!!!
RTFM

Vive les bananes
______________
Senji est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/09/2008, 22h21   #9 (permalink)
Nouveau membre du Club
 
Date d'inscription: janvier 2006
Messages: 74
Par défaut


D'apres la MSDN l'option n'est pas dispo ... Super

/IT

A value that enables the task to run interactively only if the /RU user is currently logged on at the time the task runs. The task runs only if the user is logged on.

Windows XP and Windows Server 2003: This option is not available.

Lien : http://msdn.microsoft.com/en-us/libr...57(VS.85).aspx

D'ailleurs même le /IT ne semble pas régler mon problème puisque la tache ne fonctionnerait que si l'utilisateur est connecté a son compte !!
denebj est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/09/2008, 01h20   #10 (permalink)
Responsable Windows
 
Avatar de shawn12
 
Date d'inscription: avril 2006
Localisation: Aveyron, France
Âge: 22
Messages: 1 531
Par défaut

Il me semble que tu ne peux pas faire de tache interactive si aucun utilisateur n'est connecté à son compte.
shawn12 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/09/2008, 16h18   #11 (permalink)
Nouveau membre du Club
 
Date d'inscription: janvier 2006
Messages: 74
Par défaut

Oui, au final la meilleure solution que j'ai pu trouvé c'est de garder les taches planifiées , et a la place de lancer mon appli, je lance un batch qui créer un service windows (le but des taches planifiées étant de pouvoir créer le service sur un autre compte de la machine), via la commande sc.exe. Et ce service me lance mon appli avec mes forms.
J'aurais préféré éviter de passer par un "intermédiaire" et n'avoir que le planificateur de tache mais bon
denebj est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Windows > Win XP



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide