[R] Ignorer les erreurs d'exécution
Posté : mer. 16 avr. 2008 09:51
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.
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