IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Mon exécutable VB6 est non exécutable


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 931
    Par défaut Mon exécutable VB6 est non exécutable
    Bonjour,

    J'ai un souci avec Visual Studio 6. Mon exécutable ne s’exécute que sur mon PC. Lorsque je crée un logiciel et donc mon exe il fonctionne parfaitement sur ma machine mais sur celle de mes collègue ou même a l’intérieur d'installShield il ne s’exécute pas.

    Alors je précise que je viens de changer de PC, mais que le projet à déjà été crée depuis un moment et que si je charge le projet sur un autre PC pour faire l'exe cela fonctionne.

    Je précise aussi que mon "nouveau" PC (PC récupérer d'un poste vacant), est un Xeon 4 coeurs équipé de Windows XP 64 bits SP2/ Mon ancien PC étant un Pentium D équipé de XP 32 bits SP3.

    J'ai mis en gras le 64 bits car je pense plus ou moins que cela peu venir de la. Je dis plus ou moins car j'ai l'un de mes collègues qui a le même souci alors qu'il est en 32 bits.

    Je précise aussi que j'ai cherché un peu le fonctionnement de VS6 sur une machine 64 bits. Apparemment il faut que les dll et autre ocx qui sont présent dans "SysWOW64" (la ou il va les chercher par défaut) soit aussi présent dans "system32".
    J'ai tenté de pointé vers system32 mais il revient toujours dans SysWOW64.

    Je précise aussi que j'ai des dll et ocx perso qui sont stocké sur notre réseau que j'ajouté également aux "References" ou "Components"

    Je peux parfaitement coder, déboguer avec VS6 mais pour créér l'exe je suis obligé de demandé à l'un de mes collègues ou de rebranché mon ancien PC. C'est pas top.
    J'ai comparé aussi les chemins utilisé dans "Reference" et "Components" mais idem a part que ce qui pointe sur System32 sur un PC 32 bits pointes sur SysWOW64 sur le 64 bits

    Je précise que si je crée mon exe sur une autre machine, que je fait le pacquage InstallShield, que j'installe le pacquage sur un PC de test (PC qui est freesé.) cela fonctionne. Maintenant si je crée l'exe de nouveau sur mon PC et que je remplace l'exe sur la machine de test par mon exe cela fonctionne plus. Donc je suppose que ce n'est pas une dll ou autre qui est mal référence, mais belle et bien l'exe qui fonctionne pas.


    Avez vous une idée ou une piste?

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 254
    Par défaut
    Comment "installe-tu" ton executable ? tu te contente de le copier, ou tu passe par un pack d'installation ?

    Un executable VB6 à besoin que les runtimes VB6 (une 10ène de dll) soit déjà installées sur la machine pour pouvoir fonctionner. Si tu n'as pas les runtimes il ne fonctionnera pas.

    Ensuite si tu utilise des références et activex tiers voire perso, ceux-ci doivent aussi être installé sur la machine. Même si les fichiers sont physiquement sur le réseau bon nombres d'informations les concernant doivent être enregistrées dans la base de registre.

    Un logiciel VB6 ne devrait jamais être distribué par simple copie de l’exécutable.


    Pour ce qui est de VB6, lui-même, il fonctionne mal sur une machine 64bits, il n'a pas été prévu pour.

  3. #3
    Membre éprouvé Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 931
    Par défaut
    J'ai rajouté un petit paragraphe dans mon post.

    Je crée un Package d'installation avec InstallShield.

    Et comme je l'indique j'ai testé sur un PC de test en créant un package avec un exe fabriqué par un autre PC. Une fois installé cela fonctionne.

    Mais si je remplace juste l'exe crée par mon PC sur la machine de test, cela fonctionne plus, pourtant toutes les DLL et autre OCX sont bien présent puisqu'il fonctionnait avec l'exe du package

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Citation Envoyé par sevyc64 Voir le message
    ...........
    Un logiciel VB6 ne devrait jamais être distribué par simple copie de l’exécutable.
    .......





    Citation Envoyé par sevyc64 Voir le message
    ...........
    Pour ce qui est de VB6, lui-même, il fonctionne mal sur une machine 64bits, il n'a pas été prévu pour.
    D'ou la nécessité de passer par:
    Bouton droit sur l'exécutable créé avec VB6 ----> Propriétés ------> Onglet Compatibilité, cocher Exécuter ce programme en mode de compatibilité pour, le choix de Windows XP (Service Pack 3) donne très souvent satisfaction.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre éprouvé Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 931
    Par défaut
    Je suis d'accort avec vous pour l’exécutable, une diffusion ne doit pas se faire par un simple copier collé de l'exe.

    Mais la je ne diffuse pas dans mon essaie. J'ai crée un setup avec installShield et avec l'exe crée par un PC avec VS6 qui fonctionne (mon ancien PC), j’installe grâce à ce setup sur le PC de test. Le logiciel fonctionne.

    Puis je recrée un exe avec mon nouveau PC et VS6 qui me fait des exe merdique. Cet exe est sensé être le même à la base, c'est le même projet VB6 que j'ouvre. Et c'est avec cet exe que je remplace celui qui c'est installer avec le Setup. Là c'est sensé fonctionné, je l'ai déjà fait auparavant et cela fonctionnait très bien. Mais cela fonctionne pas. Idem si je vais jusqu'à crée un setup avec cette exe merdique bien sur, j'ai fait l'essaie. C'est simplement que cela va plus vite pour tester l'exe en faisant un copier coller a la place de celui qui fonctionne.

    Autre essai:

    Je viens d'installer un VS6 sur ma machine de test, mais pas sur le même windows que j'ai testé. Il est en multiboot. La partie test étant un windows qui est freeze par returnil.

    La c'est un Windows XP SP3 et cela fonctionne pas non plus, même défaut. L'exe me fait un bip et c'est tout!!!

    Donc il se peut que se ne sois pas un souci donc 32 ou 64 bits.

    Je rappel que mon Projet est sur un disque réseau, que tous les PC de R&D y accède et que donc seul mon nouveaux PC (XP 64 bits), celui que je viens de réinstalle sur la machine de test (XP 32bits), et l'un des PC de mes collègues (XP32 bits) a le même souci. Les autre PCs de mes autre collegues ainsi que mon ancien PC (tous en XP 32 bits) fonctionne parfaitement. Ils sont tous en VS6 SP6.

    On charge juste le projet par le fichier vbp. On crée juste l'exe. et certain fonctionne d'autre pas.
    Je précise aussi que tous fonctionne parfaitement en mode débogage et édition.
    Et que même les PC qui merdouille lance sans souci l'exe qu'il viens de crée. Mais si l'on prend cette exe que l'on met sur une autre machine cela fonctionne pas, que se soi sur un autre PC qui merdouille ou un qui fonctionne bien.


    En ce qui concerne le mode de compatibilité je n'est que Win 95 /98 /ME et Windows 2000. C'est un XP 64 bits mais pas un Win7 64 bits

  6. #6
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Bonjour,
    Citation Envoyé par sevyc64 Voir le message
    .../...
    Pour ce qui est de VB6, lui-même, il fonctionne mal sur une machine 64bits, il n'a pas été prévu pour.
    Ni plus ni moins que n'importe quelle application 32 bits sur une OS 64 bits
    d'ailleurs, pour info autant l'IDE VC++ de VS6 pose problème autant l'IDE VB6 n'en pose aucun
    en dehors du rafraichissement visuel lié à la composition du bureau.

    Dès lors que l'on respecte les règles minimum requises n fois rappelées (comme ProgElect vient de le faire),
    les applications VB6 ne posent aucun problème particulier.
    A rappeler également que le dossier cible des dépendances 32 bits sur un système 64bits n'est pas System32 mais SysWOW64.

    D'autre part, la machine virtuelle (MSVBVM60) est toujours installée sur toutes les OS Microsoft (même sur Huit)
    ce qui n'est pas le cas de la version pour VB5 (MSVBVM50).


    Il est fort probable que le problème soit un problème de distribution de dépendances.
    L'application gère-t-elle un système d'erreurs minimum afin qu'il n'y ait aucun plantage dès l'initialisation de l'application
    qui puisse être confondu avec un refus d'exécution ?

  7. #7
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 254
    Par défaut
    Citation Envoyé par DarkVader Voir le message
    Bonjour,
    Ni plus ni moins que n'importe quelle application 32 bits sur une OS 64 bits
    d'ailleurs, pour info autant l'IDE VC++ de VS6 pose problème autant l'IDE VB6 n'en pose aucun
    en dehors du rafraichissement visuel lié à la composition du bureau.
    Ce n'est pas les applications 32bits qui fonctionnent mal, même pas les logiciels créés avec VB6, mais bien l'IDE de VB6, et plus largement Visual Studio 6.
    D'ailleurs sur W7 (pas essayer sur W8), il est quasiment impossible à installer

    Citation Envoyé par DarkVader Voir le message
    D'autre part, la machine virtuelle (MSVBVM60) est toujours installée sur toutes les OS Microsoft (même sur Huit)
    ce qui n'est pas le cas de la version pour VB5 (MSVBVM50).
    C'est le cas pour W7, W8 peut-être aussi, Vista je sais pas. Mais ce n'est pas le cas pour XP. Les runtimes VB6 ne sont pas installés par défaut sur XP en tout cas sur XP RTM à XP SP2 (pour SP3 je sais pas, je n'ai jamais installé un XP directement en SP3)

    De plus, on parle ici d'un XP 64bits. J'en avait gardé au début de son existence une réputation d'instabilité, probablement corrigée par la suite avec les SP

  8. #8
    Membre éprouvé Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 931
    Par défaut
    Ba pour le reste XP 64 bits fonctionne parfaitement avec le XEON E5410 (Quad core 2.33ghz) et 4Go de RAM, il est bien plus rapide et réactif que mon ancien Pentium D (2* 3.3Ghz et 3Go re RAM)

    Il y a juste ce VS6 qui m’énerve.

    Pour le moment je nettoie complètement le PC test sur lequel je viens d'installer VS6 et qui fonctionne pas non plus pourtant en XP 32 bits SP3.

  9. #9
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    Ce n'est pas les applications 32bits qui fonctionnent mal, même pas les logiciels créés avec VB6, mais bien l'IDE de VB6, et plus largement Visual Studio 6.
    D'ailleurs sur W7 (pas essayer sur W8), il est quasiment impossible à installer
    Désolé mais quitte à me répéter, je n'ai aucun problème particuliers avec l'IDE VB6 sous Win7 64bits.
    Le seul problème est celui du clignotement lors des déplacements de controls dans l'ide
    si «Désactiver la composition du bureau» est désactivé. Même les outils ne posent pas de problème.
    Maintenant comme déjà précisé, il faut respecter certaines contraintes lors de l'installation de VS comme partiellement expliqué par ProgElecT.

    Citation Envoyé par sevyc64 Voir le message
    C'est le cas pour W7, W8 peut-être aussi, Vista je sais pas. Mais ce n'est pas le cas pour XP. Les runtimes VB6 ne sont pas installés par défaut sur XP en tout cas sur XP RTM à XP SP2 (pour SP3 je sais pas, je n'ai jamais installé un XP directement en SP3)

    Je viens par acquis de conscience de jeter un œil à un pack d'installation XP 32bits familial d'origine
    car, autant il pourrait être concevable que Huit n'ait pas la VM d'installé, autant le contraire sous XP aurait été étonnant.
    Les machines virtuelles (5 & 6) sont bien installées par défaut sous XP32bits familial.


    Citation Envoyé par sevyc64 Voir le message
    De plus, on parle ici d'un XP 64bits. J'en avait gardé au début de son existence une réputation d'instabilité, probablement corrigée par la suite avec les SP
    Aucune idée sur le sujet

  10. #10
    Membre éprouvé Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 931
    Par défaut
    Je suis sous XP pro, le 32 ou le 64 bien-sûr.

    De plus je suis pas sur que le famillial existe en 64 bits, puisque le 64 bits de xp est basés sur un Windows serveur il me semble

Discussions similaires

  1. [KSH] Mon .kshrc n'est pas exécuté à l'ouverture d'une shell
    Par dva2tlse dans le forum Shell et commandes POSIX
    Réponses: 8
    Dernier message: 23/11/2012, 10h14
  2. Exécuter un cron job quand mon pc n'est pas allumé
    Par Ismatus1 dans le forum Linux
    Réponses: 7
    Dernier message: 11/11/2011, 18h04
  3. Réponses: 31
    Dernier message: 27/12/2010, 12h26
  4. Mon code behind n'est pas exécuté sous Visual Web
    Par mourmaux dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/09/2008, 19h07
  5. Réponses: 2
    Dernier message: 15/12/2007, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo