OVH Cloud OVH Cloud

WMI Software

4 réponses
Avatar
Jeff
Salutation,

je cherche à faire un petit VBScript avec WMI afin de lister tout les
logiciels installé sur un poste.

J'ai essayé Win32_Product malheureusement cette classe me donne seulement ce
qui a été installé via WindowsInstaller.

Des idées ???

4 réponses

Avatar
Jacques Barathon [MS]
Encore faut-il savoir ce que tu entends par "logiciels installés".
L'installation d'un logiciel n'obéit à aucune règle stricte et peut varier
de la simple copie d'un exécutable dans un répertoire dédié à
l'enregistrement de toute une série de composants en passant par le
remplacement de fichiers système (notamment des DLL).

Essaies-tu de lister ce qui est dispo dans le menu Démarrer d'un
utilisateur, ou ce qui figure dans le dossier "Program Files" du PC, ou ce
qui apparaît dans le panneau de configuration Ajout/suppression de
programmes, ou encore ce qui sous une forme ou sous une autre peut
ressembler à une application (en gros, *.exe)?

Jacques

"Jeff" wrote in message
news:
Salutation,

je cherche à faire un petit VBScript avec WMI afin de lister tout les
logiciels installé sur un poste.

J'ai essayé Win32_Product malheureusement cette classe me donne seulement
ce
qui a été installé via WindowsInstaller.

Des idées ???


Avatar
Jean-Claude BELLAMY
Dans le message news: ,
Jeff s'est ainsi exprimé:

je cherche à faire un petit VBScript avec WMI afin de lister tout les
logiciels installé sur un poste.

J'ai essayé Win32_Product malheureusement cette classe me donne
seulement ce qui a été installé via WindowsInstaller.

Des idées ???


Aucune !!

A partir du moment où un logiciel peut être simplement copié n'importe où
pour fonctionner, sans aucune référnece dans une quelconque base de données
(BDR p.ex.), il est IMPOSSIBLE de recenser TOUS les logiciels installés !

Donc la méthode WMI avec la classe "Win32_product" ne peut fonctionner
qu'avec les logiciels dont la procédure d'installation est "conforme" à
...Win32_Product !

C'est le "retour de manivelle" de la liberté dont on dispose dans
l'environnement Windows.

C'est le même problème en ce qui concerne la procédure de désinstallation.
Microsoft incite fortement les développeurs d'applis à respecter un sorte de
"norme"
(inscription dans la clef
HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall )
Mais tous ne le font pas...
On trouve :
- ceux qui sont conformes
- ceux qui ne sont pas conformes avec 2 sous-classes :
- ceux qui prévoient leur propre système de désinstallation,
avec présence d'un raccourci dans le menu démarrer ou le bureau,
- ceux qui ne prévoient rien du tout.


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*

Avatar
Jeff
Salutation, j'essais présentement de lister ce qui se trouve dans la base de
registre sous SOFTWAREMicrosoftWindowsCurrentVersionUninstall
sa donne presque ce que je veux. En fait, ce qui m'aiderai serait de pouvoir
lister tout les logiciels qu'on peut retrouver en appuyant sur Démarrer et
ensuite sur programmes

"Jean-Claude BELLAMY" wrote:

Dans le message news: ,
Jeff s'est ainsi exprimé:

je cherche à faire un petit VBScript avec WMI afin de lister tout les
logiciels installé sur un poste.

J'ai essayé Win32_Product malheureusement cette classe me donne
seulement ce qui a été installé via WindowsInstaller.

Des idées ???


Aucune !!

A partir du moment où un logiciel peut être simplement copié n'importe où
pour fonctionner, sans aucune référnece dans une quelconque base de données
(BDR p.ex.), il est IMPOSSIBLE de recenser TOUS les logiciels installés !

Donc la méthode WMI avec la classe "Win32_product" ne peut fonctionner
qu'avec les logiciels dont la procédure d'installation est "conforme" à
....Win32_Product !

C'est le "retour de manivelle" de la liberté dont on dispose dans
l'environnement Windows.

C'est le même problème en ce qui concerne la procédure de désinstallation.
Microsoft incite fortement les développeurs d'applis à respecter un sorte de
"norme"
(inscription dans la clef
HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall )
Mais tous ne le font pas...
On trouve :
- ceux qui sont conformes
- ceux qui ne sont pas conformes avec 2 sous-classes :
- ceux qui prévoient leur propre système de désinstallation,
avec présence d'un raccourci dans le menu démarrer ou le bureau,
- ceux qui ne prévoient rien du tout.


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*






Avatar
Jacques Barathon [MS]
Hé bien il te suffit de lister les sous-répertoires situés aux emplacements
suivants:

%allusersprofile%Menu DémarrerProgrammes
%userprofile%Menu DémarrerProgrammes

C'est à partir de ces deux listes qu'est construite la liste des programmes
disponibles dans le menu Démarrer d'un utilisateur.

Si plusieurs utilisateurs se partagent un même PC tu n'auras que la liste
des programmes communs (ha ha, normal pour un PC) et celle de l'utilisateur
en cours, pas celles propres aux autres utilisateurs. Pour avoir ces listes
il faut parcourir les profils un par un.

Jacques

"Jeff" wrote in message
news:
Salutation, j'essais présentement de lister ce qui se trouve dans la base
de
registre sous SOFTWAREMicrosoftWindowsCurrentVersionUninstall
sa donne presque ce que je veux. En fait, ce qui m'aiderai serait de
pouvoir
lister tout les logiciels qu'on peut retrouver en appuyant sur Démarrer et
ensuite sur programmes

"Jean-Claude BELLAMY" wrote:

Dans le message news: ,
Jeff s'est ainsi exprimé:

je cherche à faire un petit VBScript avec WMI afin de lister tout les
logiciels installé sur un poste.

J'ai essayé Win32_Product malheureusement cette classe me donne
seulement ce qui a été installé via WindowsInstaller.

Des idées ???


Aucune !!

A partir du moment où un logiciel peut être simplement copié n'importe où
pour fonctionner, sans aucune référnece dans une quelconque base de
données
(BDR p.ex.), il est IMPOSSIBLE de recenser TOUS les logiciels installés !

Donc la méthode WMI avec la classe "Win32_product" ne peut fonctionner
qu'avec les logiciels dont la procédure d'installation est "conforme" à
....Win32_Product !

C'est le "retour de manivelle" de la liberté dont on dispose dans
l'environnement Windows.

C'est le même problème en ce qui concerne la procédure de
désinstallation.
Microsoft incite fortement les développeurs d'applis à respecter un sorte
de
"norme"
(inscription dans la clef
HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall )
Mais tous ne le font pas...
On trouve :
- ceux qui sont conformes
- ceux qui ne sont pas conformes avec 2 sous-classes :
- ceux qui prévoient leur propre système de désinstallation,
avec présence d'un raccourci dans le menu démarrer ou le bureau,
- ceux qui ne prévoient rien du tout.


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*