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

C++Builder Discussion :

Comment savoir si une application est installée


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut Comment savoir si une application est installée
    Bonjour,

    J'aimerai savoir comment l'on fait pour savoir si une application est installée. Je m'explique, je fais une application qui pourra permettre l'ouverture de fichiers d'acquisition avec une application réalisée par mes soins.

    Si cette application n'est pas sur le PC, il faudra alors que j'ouvre une autre fichier correspondant en jpeg avec l'outil de visualisation Windows.

    Le hic c'est que mon application est installée par un package InnoSetup, donc l'utilisateur a le choix de l'endroit d'installation, de la mise ou non des icônes sur le bureau ou en bar des tâches.

    Donc, y a t il un moyen de trouver le répertoire d'installation d'une application, en connaissant son nom, à partir d'une application externe?

    Merci

  2. #2
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Je ne sais pas si c'est la solution la plus simple, mais toutes les applications installées sur ton PC (via un installeur, et possédant donc un désinstalleur) doivent se retrouver dans le registre sous:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
    A toi de tester l'existence de la clé créée par ton application pour savoir si elle est installée ou non.

    Il y a notamment la clé DisplayName qui contient le nom donnée a ton application dans Ajout/Suppression de Programmes, et la clé UninstallString qui contient le chemin vers l'exécutable de désinstallation (Uninstal.exe)

    Donc tu peux tester la clé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\NOM_DE_TON_APPLI\DisplayName
    Pour lire dans le registre, utilise la classe TRegistry (<Registry.hpp>)

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par défaut
    Avec une clé dans la base de registre ?

  4. #4
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Voici une autre astuce trouvée sur le net pour lister dans un fichier texte les applications installées sur un poste.
    Je n'ai pas tester cette solution, mais a priori il suffit de lancer le script depuis ton application puis de lire le fichier texte généré pour vérifier si ton application est présente ou non

  5. #5
    Membre éclairé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par défaut
    Ton application installée crée la clé HKEY_LOCAL_MACHINE\SOFTWARE\monappli\folder
    Il suffit ensuite de vérifier que cette valeur est valide. Ainsi, tu as le fait que l'appli est installé et à quel endroit.

  6. #6
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Merci messieurs pour vos réponse, mais je n'ai malheureusement pas trouvé mon soft dans le registre.

    J'ai regardé dans
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
    Mais je ne trouve pas le nom de mon logiciel, alors qu'il figure bien dans l'ajout/suppression de programme. Mais j'ai utilisé la clé "OpenKey", et non "DisplayName". Avec un peu de chance, peut être que je pourrait la trouver.

    gandf, aujourd'hui mon application ne créer pas de clé
    HKEY_LOCAL_MACHINE\SOFTWARE\monappli\folder
    Et ce qui me gène, c'est que si je la modifie maintenant pour créer cette clé, ma deuxième appli qui cherche ma première, ne sera compatible qu'à partir d'une certaine version. Or tout est déjà dedans, il suffit de savoir où.

    Par contre, question idiote. Une fois trouvé dans le registre, comment je récupère le répertoire d'installation?

  7. #7
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Si ton programme figure dans Ajout/Suppression de Programmes, il doit y avoir une valeur pour ton application dans:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
    Utilise Regedit pour identifier le nom de ton application dans le registre, elle doit forcément y être.

    Pour récupérer le chemin d'installation, tu peux ensuite lire la clé UninstallString qui contient le chemin vers le fichier Uninstal.exe de ton application, donc en théorie il s'agit du même répertoire que ton application.

Discussions similaires

  1. Comment savoir si une application est installée ?
    Par kOrt3x dans le forum Développement iOS
    Réponses: 2
    Dernier message: 05/03/2013, 16h18
  2. [VB][VBA] Savoir si une application est installée
    Par DotNET74 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 11/04/2007, 16h11
  3. comment savoir si une application est fermée ?
    Par Flow_75 dans le forum C++Builder
    Réponses: 10
    Dernier message: 13/12/2006, 10h27
  4. Réponses: 2
    Dernier message: 14/09/2006, 23h35
  5. Comment savoir si une application est lancée ?
    Par Teddy dans le forum Delphi
    Réponses: 2
    Dernier message: 02/07/2006, 19h33

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