Base de registre : chercher le dossier d'installation d'un soft

Olivier - 29 juin 2016 à 16:04 - Dernière réponse : wmade 34 Messages postés samedi 18 juin 2016Date d'inscription 20 octobre 2017 Dernière intervention
- 8 juin 2017 à 10:34
Bonjour à toutes et tous,
Je cherche à récupérer le chemin du répertoire d'installation d'Excel.

Je voudrais faire cela à partir de la base de registre, et cela indépendamment de :
  • la version d'Excel
  • le répertoire d'installation (par défaut ou non)
  • la version (32 ou 64 bits)
  • la version de Windows


J'ai fait un certain nombre de recherches et pour le moment aucune n'est fiable à 100% en étant utilisable dans tous les cas de figure.

Si quelqu'un a la réponse à mon problème, merci de me donner des pistes de recherche et/ou la solution.

Par avance merci

Olivier
Afficher la suite 

9 réponses

Répondre au sujet
Whismeril 10530 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 29 juin 2016 à 16:14
0
Utile
Bonjour

quelque soit la version (enfin pour celles que je connais), l'exécutable s'appelle toujours excel.exe.

Une recherche sur le disque dur ne te conviendrait pas?
Commenter la réponse de Whismeril
ucfoutu 18022 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - 29 juin 2016 à 16:36
0
Utile
Bonjour,
Il s'agit là de la valeur inscrite dans la clé suivante de la base de registre :
HKEY_CLASSES_ROOT\.htm\OpenWithList\Excel.exe\shell\edit\command
on la trouve également dans cette clé :
HKEY_CLASSES_ROOT\.htm\OpenWithList\Microsoft Office Excel\shell\edit\command

L'une comme l'autre ont une valeur de type (ici sur ma machine)
"C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" /e
Commenter la réponse de ucfoutu
ucfoutu 18022 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - Modifié par ucfoutu le 29/06/2016 à 17:00
0
Utile
Ceci étant dit, je n'irais personnellement pas par 4 chemins et créerais un objet Excel en liaison tardive, puis en examinerais ce dont j'ai besoin.
Voici ce que je ferais sous VB6 et qui devrait être quasi identique sous VB.Net :l

  Dim o As Object
Set o = CreateObject("Excel.application")
MsgBox "Bonjour. L'application Microsoft Excel est intallée en " & o.Path & vbCrLf & _
"sa version est " & o.Version & " et elle tourne sur " & o.OperatingSystem & "!"
Set o = Nothing


Voici ce que ce code tout bête retourne sur ma machine :

Bonjour. L'application Microsoft Excel est intallée en C:\Program Files\Microsoft Office\Office12
sa version est 12.0 et elle tourne sur Windows (32-bit) NT 5.01!


Tu dois bien évidemment y ajouter une gestion d'erreur éventuelle (cas d'absence de Excel sur la machine).

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Commenter la réponse de ucfoutu
cs_Le Pivert 4767 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 décembre 2017 Dernière intervention - 29 juin 2016 à 17:51
0
Utile
2
Bonjour,

Pour mettre le code de ucfoutu que je salue, en VB.Net:

Imports Microsoft.Win32
Public Class Form1
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim rk As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\excel.exe")
        Dim excelPath As String = CStr(rk.GetValue("Path"))
        MessageBox.Show("Bonjour, l'application Microsoft Excel est installée en: " & excelPath, "Emplacement Excel", MessageBoxButtons.OK, MessageBoxIcon.Information)
    End Sub
End Class
ucfoutu 18022 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - 29 juin 2016 à 22:02
Bonjour, Le Pivert,
Je me méfie toujours des fausses désinstallations (suppression de répertoires) qui, elles, ne suppriment pas la clé dans la base de registre et faussent donc de telles vérifications.
C'est là la raison pour laquelle j'ai proposé la 2ème solution.
vb95 1386 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 12 décembre 2017 Dernière intervention - 30 juin 2016 à 03:28
bonjour à tous
fonctionne nickel sous Windows 10 Pro 64 bits avec Office 2016
Commenter la réponse de cs_Le Pivert
wmade 34 Messages postés samedi 18 juin 2016Date d'inscription 20 octobre 2017 Dernière intervention - 29 mai 2017 à 11:12
0
Utile
1
Bonjour,

regarde aussi Ordinateur\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Se sont tes application instaler sur ton ordinateur.

Ordinateur\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall
Por les application instaler par l'utilisateur.

Il donne plein d'info( emplacement du patch, nom, version, date, ...)

@wmade
http://codes-sources.commentcamarche.net/profile/user/wmade
Whismeril 10530 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 29 mai 2017 à 12:07
En 1 an, il n'a jamais répondu du à aucune intervention sur ce fil, était ce bien utile de l'exhumer?
Commenter la réponse de wmade
wmade 34 Messages postés samedi 18 juin 2016Date d'inscription 20 octobre 2017 Dernière intervention - 8 juin 2017 à 10:34
0
Utile
oui
cela pourra aider les autres, pour ne pas reposer la même question. moi même j'ai cherchée à l'époque assez longtemps.
Commenter la réponse de wmade

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.