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

Bibliothèques, systèmes et outils C Discussion :

Dll manquante ?


Sujet :

Bibliothèques, systèmes et outils C

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    525
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 525
    Points : 212
    Points
    212
    Par défaut Dll manquante ?
    Bonjour,

    J'ai développé un petit programme (projet console Win32) avec Visual Studio 2008 et j'ai lancé l'exécutable sur un 2008 R2
    La réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    L'application n'a pas pu démarrer car sa configuration côte-à-côte est incorrect
    e. Pour plus d'informations, consultez le journal d'événements d'applications ou
     utilisez l'outil de ligne de commande sxstrace.exe.
    Dans l'observatoire d'évènement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" introuvable. Utilisez sxstrace.exe pour un diagnostic détaillé.
    Est il possible de contourner le problème, sans installer sur le poste client le package redistribuable Microsoft Visual C++ 2008 ?
    J'ai passé "Dependency Walker" et j'ai effectivement des noms en rouge ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    API-MS-WIN-APPMODEL-RUNTIME-L1-1-0.DLL
    API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
    API-MS-WIN-CORE-WINRT-L1-1-0.DLL
    API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
    API-MS-WIN-CORE-WINRT-STRING-L
    API-MS-WIN-SHCORE-SCALING-L1-1-1.DLL1-1-0.DLL
    DCOMP.DLL
    IESHIMS.DLL
    Est il possible de joindre des Libs au moment du Link ?
    Comment résoudre au mieux ?

    Merci d'avance

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 222
    Points : 766
    Points
    766
    Par défaut
    Bonjour,

    Tu ne donnes pas le langage et le framework mais vu que c'est dans le forum C je vais supposer que c'est du C et que tu n'utilises pas .net en faisant un binaire managé, bref que tu fais du 100% natif (sinon tu es de toute façon dépendant de .net)

    Là comme ça j'ai du mal à voir précisément qu'elles sont les dlls qui manquent exactement, dependency walker marque parfois des dépendances (directes ou indirectes) manquantes alors qu'en fait elles ne sont pas réellement utilisées et ne gêneront pas forcément le lancement de l'appli.

    D'une façon générale, ce n'est pas gênant d'installer les redistribuables Microsoft sur un poste client, c'est fait pour ça (elles sont d'ailleurs souvent installés pour d'autres besoins) mais c'est vrai que ça peut compliquer la vie, selon comment on fait le déploiement.

    Sinon, pour se passer de la dépendance aux dll de la bibliothèque standard, la solution c'est de faire le link sur les bibliothèques standard en statique, c'est-à-dire que tu ne link pas sur les dll mais que tu les intègre directement à ton exe.

    Dans Visual Studio (j'ai la version 2015 community en français sous la main), clic droit/propriétés sur ton projet, puis Propriétés de configuration / C/C++ / Toutes les options, tu cherches "Bibliothèque Runtime", sa valeur est probablement positionnée à /MD, tu la passes à /MT (ou /MTd si tu es en debug)

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    525
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 525
    Points : 212
    Points
    212
    Par défaut
    Ok, merci pour ces infos.
    Je vais voir ça dès que j'ai un peu plus de temps ...

    Merci

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Citation Envoyé par dede92 Voir le message
    Dans l'observatoire d'évènement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" introuvable. Utilisez sxstrace.exe pour un diagnostic détaillé.
    Est il possible de contourner le problème, sans installer sur le poste client le package redistribuable Microsoft Visual C++ 2008
    Pas 100% certain, mais potentiellement possible, en distribuant les quatre fichiers du paquetage (les trois DLLs et le manifeste) directement dans le même répertoire que ton exe.

    Je sais que ça marchait avec les DLLs pour Visual 2005, mais j'en suis moins certain pour 2008.

    L'autre question bien sûr, est pourquoi? En excluant d'emblée l'option normale, tu te prive de ses avantages (mises à jour de sécurité par Windows Update, etc.)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. dll manquantes
    Par bourdon dans le forum Autres Logiciels
    Réponses: 10
    Dernier message: 10/02/2006, 19h13
  2. mfc80d.dll manquant?
    Par tidanone dans le forum MFC
    Réponses: 10
    Dernier message: 22/01/2006, 19h07
  3. DLL manquante Access
    Par titepuce44 dans le forum Access
    Réponses: 6
    Dernier message: 04/01/2006, 10h59
  4. msjava.dll manquante
    Par xave dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 01/12/2005, 10h41
  5. dll manquante ???
    Par BainE dans le forum MFC
    Réponses: 3
    Dernier message: 19/05/2005, 11h14

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