Liste des programmes installés sur une machine

Résolu
dysko Messages postés 48 Date d'inscription mercredi 22 juin 2005 Statut Membre Dernière intervention 7 mars 2007 - 4 août 2005 à 22:59
tresorunikin13 Messages postés 10 Date d'inscription lundi 24 novembre 2008 Statut Membre Dernière intervention 26 octobre 2010 - 16 janv. 2009 à 22:55
Salut,
J'aimerais savoir comment on peut faire pour connaître la liste des programmes installés sur une machine par programmation...
Il y a ue fonction pour ??? une API peut être ???
Si quelqu'un peut m'aider....

DyskO =>> blackfamilyinc.free.fr !

7 réponses

dysko Messages postés 48 Date d'inscription mercredi 22 juin 2005 Statut Membre Dernière intervention 7 mars 2007
5 août 2005 à 14:41
En fait la il liste seulement une partie des programmes....
J'ai trouvé la solution....
Tout est dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
Enfin je crois....
Et pour le WMI j'ai trouvé aucune fonction qui le fait, a part WIN32_Product mais la encore c'es pas complet....
Bref pour ceux qui cherchent la solution, voici la mienne :



public
void InstallSoftware()


{



string resultat="";



string resultatversion="";



string Publisher="";



string URLInfoAbout="";



string InstallDate="";



string HelpLink="";



string uninstallKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";


RegistryKey rk = Registry.LocalMachine.OpenSubKey(uninstallKey);



foreach (
string skName
in rk.GetSubKeyNames())


{


RegistryKey sk = rk.OpenSubKey(skName);



try


{


resultat=sk.GetValue("DisplayName").ToString();



try


{


resultatversion=sk.GetValue("DisplayVersion").ToString();


}



catch


{


resultatversion="";


}



try


{


Publisher=sk.GetValue("Publisher").ToString();


}



catch


{


Publisher="";


}



try


{


URLInfoAbout=sk.GetValue("URLInfoAbout").ToString();


}



catch


{


URLInfoAbout="";


}



try


{


HelpLink=sk.GetValue("HelpLink").ToString();


}



catch


{


HelpLink="";


}



try


{


InstallDate=sk.GetValue("InstallDate").ToString();


InstallDate=InstallDate.Substring(6,2)+"/"+InstallDate.Substring(4,2)+"/"+InstallDate.Substring(0,4);


}



catch


{


InstallDate="";


}


}



catch


{


resultat="";


}



if( resultat!="")


richTextBox1.Text+=resultat+" - Version : "+resultatversion+" - Constructeur : "+Publisher+" - Site : "+URLInfoAbout+" - Aide & Support : "+HelpLink+" - Date d'installation : "+InstallDate+"\n";


}


}



Il y à juste à appeler la fonction et elle renvoie dans un RichTextBox le nom, la version etc des programmes installés ..

Qui à mieux ???

DyskO =>> blackfamilyinc.free.fr !
3
t_barbillon Messages postés 341 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 10 février 2009 2
5 août 2005 à 08:51
0
t_barbillon Messages postés 341 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 10 février 2009 2
8 août 2005 à 08:40
Salut,

En effet la classe Win32_product n'est pas complète, elle ne fournit
que les soft installés via un fichier d'install en msi. La clé
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\

fournit les mêmes données.

En fait tu as seulement les soft qui sont dans le panneau de config.
0
solodo Messages postés 6 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 30 janvier 2007
11 août 2005 à 13:47
en fait il a raison pr la liste de soft sur une machine
sinon si tu v le code qui utilise le WMI avec la classe Win32_product
string scropestring=string.Format(@"\\{0}\root\cimv2",computerName);
System.Management.ManagementScope Scope= new ManagementScope(scopestring);
SelectQuery query = new SelectQuery("Select * from Win32_Product");
ManagementObjectSearcher myList = new
ManagementObjectSearcher(Scope,query);
foreach(ManagementObject myObj in myList.get())
{
Console.WriteLine(myObj.GetText(TextFormat.Mof));
}
0

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

Posez votre question
solodo Messages postés 6 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 30 janvier 2007
11 août 2005 à 13:54
salut j'ai un probleme avec les methodes Install et Uninstall de Win32_product
j'arrives pas a installé ni a desinstalle une application.
SUr ce j'ai besoin d'aide surtout en C#dotnet.
0
dysko Messages postés 48 Date d'inscription mercredi 22 juin 2005 Statut Membre Dernière intervention 7 mars 2007
11 août 2005 à 14:22
Solodo,
Regarde les post un peu plus haut et tu verras qu'on avait déja trouvé Win32_Product...
Mais cette classe ne te renseigne que partiellement
Bref la soluc est la BDR...

DyskO =>> blackfamilyinc.free.fr !
0
tresorunikin13 Messages postés 10 Date d'inscription lundi 24 novembre 2008 Statut Membre Dernière intervention 26 octobre 2010
16 janv. 2009 à 22:55
tres interressnt ce codes! deja la petite liste me suffit

Bonne année à tous! tresorunikin_2009
0
Rejoignez-nous