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

Visual C++ Discussion :

Dependency walker + inno setup: quelques questiosn générales


Sujet :

Visual C++

  1. #1
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2014
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Avril 2014
    Messages : 105
    Points : 97
    Points
    97
    Par défaut Dependency walker + inno setup: quelques questiosn générales
    Bonjour tout le monde,

    Tout d’abord, je tiens à vous souhaiter de bonnes fêtes.

    J'ai ouvert ce thread, je ne sais pas si c'est le meilleur endroit ici pour ce sujet et je m'en excuse par avance, car je dois déployer une application.

    Après quelques recherches sur le net, je me suis dit que le combo inno setup + dependency walker devrait faire l'affaire. Cependant, n'ayant jamais utilisé ces outils, j'ai quelques questions dont les réponses me permettrait de me rassurer.

    • Existe-il une façon de créer un fichier avec toutes les dlls que mon programme utilise avec dependency walker et d'utiliser directement ce fichier avec inno setup lors de la création de l'installeur?
    • De façon générale, comment sait-on si l'on doit inclure ou pas une DLL que dependacy walker liste : je suppose que dans la figure en dessous le kernell32 n'est pas à rajouter dans inno setup alors QT5Charts.dll doit l'être. Il en est de même pour xinput par exemple : lui je sais qu'il n'est pas forcement présent sur tous les PCs mais que sur certains... Dans ce cas que dois-je faire? (cf première image)
    • Doit t-on inclure les noeuds d'une dépendance... Ca m'a l'aire chaud (ci dessous) là non? (cf seconde image)
    • Il est mignon dependacy walker mais pourquoi il me detecte le QT5Core.dll dans mon installation latex (alors qu'il devrait, je pense, la detecter dans mon repertoire d'installation QT) (cf 3eme image)
    • Dans inno setup, est- ce que je devrai renseigner les dll une par une? Il y en a bien une centaine là...




    EN vous remerciant pour votre aide!


    Nom : DLLs.PNG
Affichages : 199
Taille : 56,6 Ko
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Nom : Noeuds.PNG
Affichages : 176
Taille : 50,3 Ko

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Nom : Miketex.PNG
Affichages : 187
Taille : 9,8 Ko

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Dependency Walker est plus un outil de débugging qu'un outil de pipeline de génération d'un MSI.

    Plus qu'un problème d'outillage, je pense que vous avez un problème de méthode.

    Si vous en êtes réduit à chasser les Dll avec Dependency Walker, c'est que vous avez loupé un truc avant.

    Votre chaine de compilation doit être configurée pour cibler une plateforme cible correspondant à des Dll système disponibles sur cette plateforme et sur les plateformes supplémentaires.

    Il est aussi courant qu'une chaine de compilation ou des options de compilations entraine l'ajout systématique de certaine Dll qui doivent être fournies avec votre exécutable comme les dll des MFC pour un projet MFC, des dll de Qt pour un projet utilisant Qt, ou encore les Redistribuables Visual Studio pour les projets compilés avec MSVC.

    Pour savoir comment gérer le déploiement de votre application, vous devez vous plonger dans la documentation des outils/Framework que vous utilisez pour savoir comment déployer vos applications.

    Par exemple, pour MSVC, M$ fourni un MSM (une pièce de base pour un MSI) pour installer les Redistribuables Visual Studio en tant que pré-requis d'installation au reste du MSI.

    La documentation de Qt indique, en fonction des modules utilisés, les Dll à installer et où les copier.

    En utilisant des outils évolués comme Visual Studio et en n'utilisant que des outils correctement intégrable dans VS, via des modules NuGet par exemple, il est facile de générer des projets de déploiement qui feront automatiquement le recensement des pré-requis et généreront des MSI opérationnels.

    •Il est mignon dependacy walker mais pourquoi il me detecte le QT5Core.dll dans mon installation latex (alors qu'il devrait, je pense, la detecter dans mon repertoire d'installation QT) (cf 3eme image)
    C'est toi qui es mignon.
    Dependency Walker ne fait qu'utiliser la configuration de recherche des Dll dans votre OS et le récupère là où le chargeur de l'exécutable la trouvera.
    Il n'a pas lien "magique" entre votre exécutable et le répertoire d'installation Qt.
    Votre machine, c'est un peu le bordel, ce n'est pas de la faute de Dependency Walker.

    •Dans inno setup, est- ce que je devrai renseigner les dll une par une? Il y en a bien une centaine là...
    Non, juste ce qui ne fait pas partie de la plateforme cible.
    Référez-vous à la documentation des outils que vous utilisez.

  3. #3
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2014
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Avril 2014
    Messages : 105
    Points : 97
    Points
    97
    Par défaut
    Hey Merci pour votre réponse!

    Du coup, dans ce cas, je ne comprends pas l'utilité de dépendancy walker.

    De façon générale, même dans la docs des outils que j'utilise (Qt par exemple), on me conseille d'utiliser cet outil...

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Du coup, dans ce cas, je ne comprends pas l'utilité de dépendancy walker.
    Bin=>
    Dependency Walker est plus un outil de débugging
    et c'est déjà pas mal.

    De façon générale, même dans la docs des outils que j'utilise (Qt par exemple), on me conseille d'utiliser cet outil...
    Bin, si c'est dans la partie "TroubleShooting" de la documentation, c'est un peu logique, non ?

    Je suis à peu près persuadé que dans la partie "gestion des plug-ins" de la documentation de Qt, il existe les préconisations à suivre pour ne pas être réduit à faire du "TroubleShooting" des enfers.

  5. #5
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2014
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Avril 2014
    Messages : 105
    Points : 97
    Points
    97
    Par défaut
    Ok c'est noté,

    Etant assez novice dans le domaine, je m'étais inspiré de ça : http://wiki.qt.io/Building_Qt_Installers

    je cite


    Building installation packages is, and will probably always be, somewhat a platform specific task. Not only because the platforms are different, but also because the distribution mechanisms differ. You can read more on platform specific issues in the Qt documentation. This text covers the same topics, but in a more hands-on way.
    Windows

    Having built your Qt application on the Windows platform, you need to find the dynamic libraries (dlls) on which your application relies. For this job, you can use the Dependency Walke

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    La référence que vous utilisez est assez floue, car elle reste très générale et ne cible pas un environnement de développement en particulier.
    Les IDE et autres usines de build/installers ont vraisemblablement de quoi simplifier la génération, si les framework third-party respectent quelques règles.
    Mais il y a de bonne chance que ce travail de conformité ne soit pas respecté, et encore plus avec des librairies "exotiques".

    Après, en fonction des IDE/environnement de build/etc... il sera possible d'utiliser des outils pour simplifier votre tâche de (MSBUILD, etc...).

    Dependency Walker est un superbe outil mais il existe bien d'autres outils plus basiques mais spécialisés pour l'utilisation dans des usines de build comme MSBUILD ou Jenkins etc...

Discussions similaires

  1. [Inno Setup] Recherche de tutoriels
    Par argon dans le forum Autres langages
    Réponses: 5
    Dernier message: 30/01/2006, 19h55
  2. [instalation] Modifier le language d'inno setup ou d'is tool
    Par méphistopheles dans le forum Installation, Déploiement et Sécurité
    Réponses: 2
    Dernier message: 26/01/2005, 21h59
  3. Delphi et inno setup
    Par drakes dans le forum Outils
    Réponses: 10
    Dernier message: 17/09/2004, 10h15
  4. [INNO SETUP][ORACLE] Installer le client Oracle avec Inno
    Par AnnSo dans le forum Bases de données
    Réponses: 11
    Dernier message: 19/08/2004, 16h21
  5. Bde Inno Setup et Test
    Par Fxg dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/07/2004, 14h35

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