cs_jacques13
Messages postés252Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention29 juin 2013
-
23 juin 2009 à 22:45
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 2020
-
25 juin 2009 à 22:29
Bonjour,
Je distribue depuis quelques temps un gros programme à l'aide de InnoSetup.
Jusqu'à ces derniers jours, les installations se passaient sans problème.
Mais depuis 2 semaines j'ai de nombreux problèmes d'installation des certaines dll (comdlgfr,comdlg32,comctl32,...)
Peut-être que certains d'entre vous ont eu les mêmes difficultés. Seraient-elles dues aux nouveaux systèmes d'exploitation, quelqu'un aurait-il la solution, faudrait-il changer de logiciel d'installation pour un autre plus performant?
Jacques13
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 25 juin 2009 à 21:01
Salut,
Je ne connais pas très bien inno, je ne l'ai utilisé que très rarement quand je développais en vb6, je passais sur tout par des logiciels tiers payant. Inno gère les install en x64 (pour la dernière version en tout cas), le problème est de savoir si il gère l'installation de composant 32Bits sous un system 64Bits (peut être des options à préciser dans le script aussi ?).
Essaye de prendre un ordi tournant en x64 et d'installer ton application à la main (si elle n'est pas trop lourde), en pensant bien à appeler "c:\windows\SysWOW64\regsvr32.exe" pour enregistrer tes contrôles et non "regsvr32.exe" ou "c:\windows\system32\regsvr32.exe", tu verras déjà si ton appli tourne normalement...
Place aussi tous les composant au sein de ces répertoires (SysWOW64) et (Program file (x86)).
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 24 juin 2009 à 17:27
En réalité, le problème vient du fait que les version 64bits de Vista possedent un émulateur 32Bits (WOW pour Windows On Windows) avec son propre dossier system, et son propre registre, de ce fait si l'installateur est conçu pour s'exécuter dans un environnement x64, lors de la copie des fichiers celui-ci peut se tromper d'endroit et les copier dans le répertoir system 64 bits de windows, si il se sert de certaines fonction de Windows pour retrouver les les chemins d'accès au dossier, Windows lui fournira les enplacements 64Bits si ce dernier s'exécute en 64Bits. Un autre problème est en effet l'enregistrement dans la base de registre, les installateurs faisant appel à la version x64 de regsvr de Windows, vont inscrire ces composant dans le système 64Bits de windows, au lieu du registre 32Bits même si les fichiers on été placés au bon endroit, ce qui provoquera ces bugs.
Mon conseil est de trouver une solution d'empaquetage compatible x64, type windows installer ou autres... Ou de conçevoir toi même ton propre installateur dans un langage qui prend en charge ces plates formes.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 24 juin 2009 à 19:18
As-tu installé le SP6 de VB6 ?
Si tu ne le fais pas, tes installations sont dangereuses pour les autres machines, car elles vont installer des anciennes DLLs !
cs_jacques13
Messages postés252Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention29 juin 2013 25 juin 2009 à 16:54
Bonjour Mayzz,
Ta dernière réponse me laisse très perplexe.
Je ne sais vraiment plus quoi faire.
Penses-tu que la dernière version d'InnoSetup (je crois que c'est la 5.2.3) soit capable de faire correctement une installation dans un environnement 64 bits?
Si tu connais Inno, y aurait-il des commandes spécifiques pour préciser le type d'installation à faire surtout au niveau de l'inscription dans la base de registre.
Merci de ton aide.
Jacques13
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 25 juin 2009 à 22:29
Tu n'es pas seul, je te rassure, beaucoup d'applications vb6 avec des composants COM ne fonctionnent plus sous Vista x64... Il faut revoir le packaging...
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <