VB6 pour Windows 7 / 64 bits

BABUDROME 151 Messages postés lundi 16 janvier 2006Date d'inscription 19 avril 2016 Dernière intervention - 25 sept. 2011 à 10:39 - Dernière réponse : sajoie7 1 Messages postés mardi 27 mars 2018Date d'inscription 27 mars 2018 Dernière intervention
- 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.

bab
Afficher la suite 

9 réponses

Répondre au sujet
cs_ghuysmans99 3983 Messages postés jeudi 14 juillet 2005Date d'inscription 30 juin 2013 Dernière intervention - 25 sept. 2011 à 19:53
+3
Utile
1
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 1 Messages postés mardi 27 mars 2018Date d'inscription 27 mars 2018 Dernière intervention - 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 : ???"
Commenter la réponse de cs_ghuysmans99
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 25 sept. 2011 à 10:59
0
Utile
Salut

As-tu fait la recherche des précédentes questions sur le sujet dans le forum ? --> lien

Quelle version de Windows 7 ? Home, Pro, ... ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 25 sept. 2011 à 11:01
0
Utile
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
Commenter la réponse de cs_casy
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 25 sept. 2011 à 11:29
0
Utile
1
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.
Commenter la réponse de cs_Jack
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 25 sept. 2011 à 13:44
0
Utile
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
Commenter la réponse de cs_casy
0
Utile
Bonsoir

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.
Commenter la réponse de bingo
bbsoft 4 Messages postés jeudi 3 avril 2008Date d'inscription 26 juillet 2015 Dernière intervention - Modifié par Whismeril le 14/04/2015 à 21:25
0
Utile
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
Commenter la réponse de bbsoft

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.