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

Olivier - 29 juin 2016 à 16:04
wmade Messages postés 34 Date d'inscription samedi 18 juin 2016 Statut Membre Dernière intervention 20 octobre 2017 - 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

6 réponses

Whismeril Messages postés 19024 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 656
29 juin 2016 à 16:14
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?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 juin 2016 à 16:36
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 29/06/2016 à 17:00
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.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
29 juin 2016 à 17:51
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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.
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
30 juin 2016 à 03:28
bonjour à tous
fonctionne nickel sous Windows 10 Pro 64 bits avec Office 2016
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wmade Messages postés 34 Date d'inscription samedi 18 juin 2016 Statut Membre Dernière intervention 20 octobre 2017
29 mai 2017 à 11:12
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
0
Whismeril Messages postés 19024 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 656
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?
0
wmade Messages postés 34 Date d'inscription samedi 18 juin 2016 Statut Membre Dernière intervention 20 octobre 2017
8 juin 2017 à 10:34
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.
0
Rejoignez-nous