Question

J'ai une application VB6 qui fonctionnait auparavant parfaitement sur une machine Vista en tant que tâche planifiée , mais elle ne s'ouvrira plus sur le même ordinateur. L'application génère des fichiers d'exportation dans un dossier spécifié sans sortie directe à l'écran. Je ne reçois aucune erreur, aucune référence manquante, mais absolument rien .

La machine exécute Vista Business 32 bits, le contrôle de compte d'utilisateur est désactivé avec un seul compte administrateur et les mises à jour automatiques sont désactivées. L'application réside dans un dossier non protégé et les fichiers d'exportation sont placés dans un dossier sur le bureau. Le client jure que la seule modification apportée à cet ordinateur depuis l’installation de cette application a été l’installation de Norton Antivirus, ce qui n’a jamais causé de problèmes avec nos logiciels.

En plus des références VB6 normales, l’application fait référence à Microsoft Scripting Runtime (scrrun.dll) et à Microsoft DAO 3.6 (dao360.dll). Ces deux fichiers sont présents et enregistrés sur la machine cible, avec toutes les autres dépendances de VB6. J'ai ajouté des instructions MsgBox au début de Sub Main () juste pour voir si quelque chose est en cours d'exécution, et ce n'est pas le cas. La désactivation de Norton n'a donné aucun résultat, pas plus que la réinstallation du moteur d'exécution VB6 pour éliminer les bibliothèques endommagées. Pas une seule fois, je n’ai reçu de message, d’erreur ou autre de mon application.

Je n’ai jamais eu un problème de ce genre auparavant et je suis complètement perplexe. Y a-t-il autre chose qui pourrait être la cause?

Modifier - L'application ne s'exécute pas même lorsque je l'exécute manuellement. Par conséquent, le fait qu'il s'agisse d'une tâche planifiée est sans rapport avec mon problème, désolé de l'avoir incluse.

L'utilisateur dispose de toutes les informations d'identification de l'administrateur. Aucun mode de compatibilité n'était nécessaire lors du test initial qui, à l'époque, était effectué sur cette machine sur laquelle le problème se posait. Pour les sourires, j'ai essayé le mode de compatibilité pour XP et 2000, toujours rien.

Était-ce utile?

La solution

Essayez d’examiner - si vous pouvez y accéder - les messages de l’observateur d’événements. Peut-être y trouverez-vous des panneaux révélateurs ...

Autres conseils

Vous pouvez essayer d'exécuter le programme dans Windbg , un logiciel gratuit. débogueur autonome de Microsoft. Compilez votre fichier EXE VB6 en code natif avec des symboles (créer des fichiers PDB) et vous pourrez déboguer votre application dans Windbg.

Je suppose que l'une des deux choses va se passer.

  • Windbg ne parviendra pas à charger le fichier EXE. Vraisemblablement avec un message d'erreur qui identifiera votre problème.
  • Windbg chargera le fichier EXE, et vous pouvez suivre en une étape pour voir ce qui se passe.

Voici un article de blog 2006 publié par un Un gars de Microsoft qui utilise Windbg avec VB6 et article de blog 2004 par un autre gars de Microsoft VB avec une brève introduction à Windbg.

L'utilisateur a-t-il changé son mot de passe? La tâche planifiée échouera jusqu'à ce que le mot de passe soit ressaisi.

Avez-vous essayé d’exécuter le processus directement, plutôt qu’en tant que tâche planifiée? Je suis loin d’être un expert, mais il se peut que les erreurs générées ne s’affichent pas car le programme est exécuté en tant que tâche.

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