BABUDROME
Messages postés151Date d'inscriptionlundi 16 janvier 2006StatutMembreDernière intervention19 avril 2016
-
25 sept. 2011 à 10:39
sajoie7
Messages postés1Date d'inscriptionmardi 27 mars 2018StatutMembreDernière intervention27 mars 2018
-
27 mars 2018 à 11:42
Existe-il un VB6 pour Windows 7 / 64 bits ?
J'ai un big prg en VB6, son transfert vers VB.Net n'a pu se faire (aucun objet n'est repris !)
et l'utilisation de l'EXE ne fonctionne pas avec Windows 7 / 64bits.
Salut et remerciements anticipés.
cs_ghuysmans99
Messages postés3983Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 25 sept. 2011 à 19:53
PCPT s'était trompé en disant qu'il ne fonctionnerait pas sous Seven x64, ça marche nickel ... Par contre, comme il l'a lui-même dit dans l'autre topic, il tourne en émulation sur le premier coeur (normal vu qu'à cette époque, c'était du monocore). Les options de compatibilité à définir sont :
VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
sajoie7
Messages postés1Date d'inscriptionmardi 27 mars 2018StatutMembreDernière intervention27 mars 2018 27 mars 2018 à 11:42
Excusez les amis.
Je ne vois pas la suite de la réponse.
"Les options de compatibilité à définir sont : ???"
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 25 sept. 2011 à 11:01
Il n'existe pas de VB6 spécifique à W7. VB6 date de 1995, le dernier Service Pack date de 2004, donc bien avant a sortie de W7
VB6 fonctionne correctement sous W7 même 64 bits, mais bien souvent il faut, sous désactiver l'UAC, ou l'exe VB6 avec l'option "Exécuter en tant qu'administrateur"
VB6 ne produira jamais que des exécutables 32bits, mais qui doivent normalement fonctionner aussi sous W7-64. Mais parfois il faut aussi les lancer avec l'option "Exécuter en tant qu’administrateur" pour qu'ils fonctionnent correctement.
Bien souvent, les problèmes rencontrés concernent un mauvais codage du logiciel, et notamment l'écriture et l’utilisation de dossiers systèmes qui étaient, jusque là, déconseillés mais parfaitement possible, et qui sont désormais d'accès beaucoup plus restreint avec Vista/W7 (racine du disque système, en général C:, dossier Windows et sous dossiers, dossier Program Files et sous dossiers, ...)
[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 25 sept. 2011 à 11:29
Pour reprendre les arguments de PCPT dans <cette discussion>, VB6 ne fonctionnerait pas sous un système 64 bits.
J'ai personnellement résolu le problème en l'installant dans la machine virtuelle du "Mode XP", mais ce n'est possible que sur les version Windows 7 Pro et suivantes.
Il faut aussi mettre les EXE ainsi générés aussi dans cette même machine virtuelle, mais les données peuvent être placées sur le disque dur local puisqu'il est possible d'accéder aux disques locaux depuis la machine virtuelle.
vb6 fonctionne et s'installe (l'IDE oui) très bien sur windows 7 en 64 bits.
Bon je le dis au cas où quelqu'un lise ton messages en 2014 et tombe dans la panneau.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 25 sept. 2011 à 13:44
J'ai déjà fait fonctionner très bien VB6 sur W7-64bits, pendant une certaine période, sans passer par la virtualisation du "Mode XP". Mais avec les contraintes que j'ai déjà donné, à savoir soit désactiver l'UAC, soit systématiquement lancer l'IDE avec l'option "Exécuter en tan qu’administrateur".
Mais VB6 fonctionnera en mode 32 bits, comme encore beaucoup d'applications actuelles d'ailleurs (à commencer par Firefox dont je me sert pour naviguer).
Les exécutables générés avec VB6, fonctionnent aussi généralement pas trop mal sur W7-64bits. Certains necessitent aussi l'option "Exécuter en tant qu'administrateur" pour fonctionner correctement, mais pas forcément tous.
Le seul soucis que j'ai pu rencontré durant cette période, c'est des exécutables compilés en VB6 sur W7-64bits, avaient parfois du mal à retrouver les composants externes (ocx, dll, etc...) qu'ils utilisaient, sur des versions XP et inférieur. Mais une simple recompil sous XP résolvait le problème
[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Je confirme que VB6 32 bits fonctionne parfaitment sous win7 64 bits. Pas besoin d'arrêter l'UAC ni de démarrer en tant qu'administarteur! Pour cela recherchez sur la toile la procédure pour vous rendre seul maitre de votre PC (utilisateur + administrateur = 1). Je n'ai pas ce problème car dès la config j'ai refusé toute forme de double utilisateur (bien lire les fichiers à l'installation). N'oubliez pas de bien vérifier que tous les fichiers annexes de votre application ne sont pas coché en mode LECTURE Seul ! surtout si vous devez écrire dedans ! Pour le reste ça roule très bien. Fichier EXE en 32 nickel.
Je confirme tout ce qui a été dit sur le sujet (que les applications en 32bit fonctionnent sous un système 64bits) vu qu'un windows 7 64 bits installe les application 32bits dans program files x86 car juste un % réduit d'applications possède la version 64bits de leur programmes. Néanmoins, y a quelques problèmes fréquents, concernant les Activex (ocx), Dll, et librairies que vous devez gérer séparément.
Pour moi, puisque mon application vb6 (32b) fonctionne maintenant impeccablement sur tous les systèmes (32 et 64), je partage avec vous quelques conseils (1 et 2 sont valables pour 32b et 64b) pour vous aider :
1. dans le menu vb6?projet?propriétés du projet?décochez l'options mettre à niveau les contrôles Activex. Puis sauvegarder, ensuite rouvrir votre projet pour voir vos problèmes avec les Activex que vous utilisez (il faut d'abord régler ce problème s'il y en a).
2. j'ai commencé à mettre tous les fichiers nécessaires au bon fonctionnement de mon application dans le dossier principale de mon application ainsi que dans un dossier que j'ai nommé Install ; pour connaitre ces fichiers j'ai :
a. regarder dans les composants de mon projet (Menu Projet\composants).
b. J'ai ouvert mon fichier projet (.vbp) avec NotePad et regarder tous les liens des composants avec leur CLSID en rouge(exp : Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; MSCOMCTL.OCX) pour connaître les liens cachés.
c. J'ai utilisé l'assistant (<Assistant Empaquetage & déploiement> dans le menu <Outils Microsoft Visual Basic 6.0> dans le menu démarrer) pour créer le fichier de dépendances setup.lst qui m'a donné beaucoup plus de fichiers nécessaires à l'exécution de mon application.
d. J'ai utilisé istool et inosetup, deux applications gratuites, faciles et magnifiques pour créer un fichier d'installation necessaire d'installer à chaque fois que je veux que mon app. Fonctionne sur un nouveau système (séparement de l'installation ou la copie de mon application).
e. Une fois le fichier de l'installation <.exe> créé, j'ai crée un fichier <.bat> dans le même dossier que l'exe qui contient la ligne suivante : <XXX.exe /sp- /verysilent /SUPPRESSMSGBOXES> ou XXX est le nom de votre fichier d'installation. Cela m'a permis de le lancer en arrière plan en désactivant tous les messages.
2. Maintenant pour le windows 64b y a quelques astuces à connaître :
a. Pour l'utilisation d'une base de données dans votre application : après avoir lancé l'install, vous trouverez dans <program files x86\fichiers communs\Microsoft Shared> (en windows Français, sinon Commun files...) un dossier nomé DAO, J'ai sécurisé le bon fonctionnement de mon application en le copiant aussi dans le même chemin mais sans x86 (<program files\fichiers communs\Microsoft Shared>), qui est consacré pour les applications 64b.
b. Pour les windows 32b les fichiers nécessaires pour les applications sont stockés dans le dossier de windows\system32, par contre pour les windows 64b ils sont stockés dans le dossier windows\syswow64, alors j'ai sécurisé le bon fonctionnement de mon application en copiant ses fichiers nécessaires (rapplez-vous parag.2 dans le dossier install, ou bien en regardant avec inosetup le fichier setup.lst ou avec notepad) dans le dossier syswow64. Et Croyez-moi j'ai fait des testes pour arriver à ce résultat.
c. Comme vous le savez vb6 date de l'été 1998. Et microsoft n'a pas arrêté de faire des mise à jour pas toujours honnêtes pour faire marcher son business et d'acheter à chaque fois les nouveautés en négligeant les anciennes. Donc ses mise à jour concernant aux fichiers que vous utilisez dans votre application peuvent créer des problèmes à l'exécution, spécialement concernant ceux standards (exp : MSCOMCTL.OCX et MSCOMCT2), c'est pour ça n'oubliez pas d'appliquer les instructions dans 1.
Pou le cas précis de mscomctl.ocx, il se peut que votre application fonctionne très bien jusqu'a ce que le système ou vous avez mis à jour un ou +ieurs applications, comme Office ou Internet explorer. Pour cela, j'ai une solution à essayer :
Lancer cmd en Administrateur
cd C:\Windows\SysWOW64\
regtlib msdatsrc.tlb ou bien regtlibv12 msdatsrc.tlb si vous avez framework 4 ou plus. Bien sur faite le necessaire pour copier tous les fichiers regtlib.exe ainsi que msdatsrc.tlb dans windows\syswow64.
Si vous avez des questions, n'hésitez pas à me contacter sur adresse supprimée par la modération
27 mars 2018 à 11:42
Je ne vois pas la suite de la réponse.
"Les options de compatibilité à définir sont : ???"