Pourquoi mon application wxPerl pour Windows ne démarre-t-elle pas?

J’ai développé une application avec Strawberry Perl 5.8.9.4 utilisant wxPerl . L’application est compilée en utilisant:

wxpar -f Crypto -F Crypto -M Filter :: Crypto :: Décrypter –compress = 9 –gui –icon = icon.ico –lib =. / lib –module = App :: Ordre –module = Wx –module = App :: GUI :: Principal –module = App :: GUI :: Frame –module = App :: GUI :: Forms :: Paramètres –module = App :: GUI :: Forms :: Settings :: Signature –module = App :: Tâche :: SsortingpAndMail –module = App :: Mode :: Terminal –module = App :: Mode :: GUI –output = “bin \ PDF Mailer.exe” PDF Mailer.pl “`.

J’arrive à le déployer sur le PC du client. Pour cela, j’utilise une installation créée avec InnoSetup qui copie toutes les DLL requirejses dans le dossier system32. Je l’ai testé seul et sur un autre système sur lequel Strawberry Perl n’est pas installé. Cet autre système m’a fait comprendre quelles DLL je devais inclure, à savoir:

  • libeay32.dll
  • mingwm10.dll
  • wxbase28u_gcc_wxp_binary_10_0.dll
  • wxmsw28u_adv_gcc_wxp_binary_10_0.dll
  • wxmsw28u_core_gcc_wxp_binary_10_0.dll

Cependant, mon client a installé la configuration et, au démarrage de l’application, le curseur passe simplement à l’indicateur de chargement et revient à la normale par la suite. L’application ne semble pas correctement démarrer ni ne signale une DLL manquante.

J’ai déjà eu le même problème lorsque mingwm10.dll était manquant. Donc, je pense que c’est une DLL manquante, mais je n’ai aucune idée où chercher.

J’ai modifié le PATH de mon système pour n’inclure que le dossier system32 afin de s’assurer que l’application démarre avec les DLL fournies dans les dossiers de l’application. J’ai également supprimé tous les fichiers DLL associés à ma configuration du dossier system32.

Mon ordinateur de développement exécute Windows XP Prof. SP3. Le système du client exécute Windows XP Home SP3.

Toute pensée ou indication serait très appréciée.

J’ai trouvé mon problème. C’est en fait un bug avec Strawberry Perl qui a déjà été signalé ici . J’ai décidé de le comstackr sans les --gui , --compress flags et le filtre Crypto. Parce que j’avais --gui cela me renverrait un message d’erreur à la console. L’erreur mentionnait que PAR::Heavy était introuvable. Selon le message que j’ai lié plus tôt, c’était à cause du chemin dans lequel PAR :: Heavy réside. J’ai donc ajouté --lib=C:/strawberry/perl/vendor/lib à wxpar, recompilé et tout fonctionne comme prévu. Jusqu’à ce que ce bogue soit corrigé, cela devrait faire l’affaire.