none
Tester si un programme est installé RRS feed

  • Question

  • Bonjour,

    Je voudrais savoir comment, en C#, on fait pour savoir si un programme est installé (le Générateur de rapports 3.0 dans mon cas).

    J'ai trouvé ça mais ca ne fonctionnera pas avec toutes les langues vu que c'est à partir du DisplayName ("Générateur de rapport 3.0" en fr, "ReportBuilder 3.0" en anglais, etc...).

    Il y a t'il un autre moyen ?

    Merci d'avance.


    jeudi 3 juillet 2014 06:26

Réponses

  • Bonjour,

    Ta question est très utile car je pense que tu ne dois pas être le seul, d'ailleurs moi aussi c'est un problème qui m'intéressait de savoir comment on trouve si un certain programme est installé.

    Souvent, les programmes sont identifiés par un GUID, surtout ceux de Microsoft. La solution que tu as trouvée a au moins le mérite d'indiquer dans quels répertoires du registre il faut chercher. Ensuite, au lieu de vérifier le "DisplayName", je vérifierai plutôt le nom de la sous-clé qui, je pense (mais je n'en suis pas sûr), est invariante contrairement au DisplayName.

    Par exemple, pour chercher si "Microsoft Help Viewer 2.1" est installé, je le chercherai par son GUID :
    {0398BFBC-991B-3275-9463-D2BF91B3C80B}
    à chercher en tant que nom de clé de registre et non pas de valeur de "DisplayName". D'ailleurs, si tu as VS2013, tu devrais aussi trouver cette entrée dans ta base de registre, sous "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall".


    Philippe

    jeudi 3 juillet 2014 07:52

Toutes les réponses

  • Bonjour,

    Ta question est très utile car je pense que tu ne dois pas être le seul, d'ailleurs moi aussi c'est un problème qui m'intéressait de savoir comment on trouve si un certain programme est installé.

    Souvent, les programmes sont identifiés par un GUID, surtout ceux de Microsoft. La solution que tu as trouvée a au moins le mérite d'indiquer dans quels répertoires du registre il faut chercher. Ensuite, au lieu de vérifier le "DisplayName", je vérifierai plutôt le nom de la sous-clé qui, je pense (mais je n'en suis pas sûr), est invariante contrairement au DisplayName.

    Par exemple, pour chercher si "Microsoft Help Viewer 2.1" est installé, je le chercherai par son GUID :
    {0398BFBC-991B-3275-9463-D2BF91B3C80B}
    à chercher en tant que nom de clé de registre et non pas de valeur de "DisplayName". D'ailleurs, si tu as VS2013, tu devrais aussi trouver cette entrée dans ta base de registre, sous "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall".


    Philippe

    jeudi 3 juillet 2014 07:52
  • Bonjour,

    Merci pour tenir la communauté informée sur la suite de vos démarches.

    Bien cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    lundi 7 juillet 2014 08:33