[R] Ignorer les erreurs d'exécution

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
CleM71
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mer. 16 avr. 2008 08:58
Status : Hors ligne

[R] Ignorer les erreurs d'exécution

#1

Message par CleM71 »

Bonjour,

Je développe une application de distribution de paquets MSI sur des machines clientes.

Cette application fait la chose suivante :

- permet à l'administrateur réseau de choisir l'emplacement d'un paquet MSI
- crée des raccourcis dans les menu démarrer des groupes d'utilisateurs que l'on souhaite (dans un environnement SAMBA et profils itinérants)
- après validation, l'interface créée un "lanceur" que va exécuter le client sur son poste. Ce lanceur rehausse les droits avec un RunAsSet(), et fait office de lanceur automatique : si le programme est déjà installé, ça le lance, sinon, ça lance le MSI.

Après cette explication généraliste, j'en viens au fait et à ma question :

Au lancement de l'interface par l'administrateur, le mot de passe du compte d'installation contenu dans un fichier INI est comparé à celui existant sur le serveur. Pour ce faire, je fais un RunAsSet avec le mot de passe du INI.

Je voudrais que si ça marche, l'interface soit lancée. Sinon, je voudrais mettre à jour le INI en demandant le mot de passe actuel.

Problème : quand mon RunAsSet échoue car le mot de passe du INI est erroné, j'ai un message d'erreur fatal. Le programme s'arrête là et je ne peux pas demander de mettre à jour le fichier INI ... Voir message en fichier joint.

Ci-dessous ma fonction de comparaison.

Merci pour votre aide.

Cordialement.
► Afficher le texte
Fichiers joints
Message d'erreur fatal
Message d'erreur fatal
errorauotit.PNG (10.2 Kio) Vu 1539 fois
Modifié en dernier par CleM71 le mer. 16 avr. 2008 10:17, modifié 1 fois.
Avatar du membre
tofu
Niveau 3
Niveau 3
Messages : 30
Enregistré le : mar. 15 avr. 2008 14:48
Status : Hors ligne

Re: [..] Ignorer les erreurs d'exécution

#2

Message par tofu »

Bonjour,

En regardant dans le fichier d'aide d'AutoIt concernant la commande RunAsSet(), je suis tombé sur ceci:
RunErrorsFatal: Sets if the script should terminate with a fatal error if a Run/RunWait function fails due to bad paths/file not found/Bad login IDs:
1 = fatal error (default)
0 = silent error (@error set to 1)
Est-ce que le fait de mettre cette option d'AutoIt à 0 avec un:

Code : Tout sélectionner

Opt("RunErrorsFatal", 0)
ne pourrait pas solutionner ton souci?

L'erreur serait silencieuse et tu pourrais à priori catcher l'erreur en regardant la valeur de la variable @error pour y associer un traitement spécifique.

Cordialement,
L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
CleM71
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mer. 16 avr. 2008 08:58
Status : Hors ligne

Re: [..] Ignorer les erreurs d'exécution

#3

Message par CleM71 »

C'est exactement ça. Je n'étais pas parvenu à trouver la solution, je m'attendais à un #quelquechose et j'ai cherché dans ce sens sans succès.

Merci pour ta réactivité et la pertinence de ta réponse.
Répondre