Liste des programmes installés sur une machine [Résolu]

dysko 48 Messages postés mercredi 22 juin 2005Date d'inscription 7 mars 2007 Dernière intervention - 4 août 2005 à 22:59 - Dernière réponse : tresorunikin13 10 Messages postés lundi 24 novembre 2008Date d'inscription 26 octobre 2010 Dernière intervention
- 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 !
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
dysko 48 Messages postés mercredi 22 juin 2005Date d'inscription 7 mars 2007 Dernière intervention - 5 août 2005 à 14:41
3
Merci
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 !

Merci dysko 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 123 internautes ce mois-ci

Commenter la réponse de dysko
t_barbillon 341 Messages postés mercredi 8 juin 2005Date d'inscription 10 février 2009 Dernière intervention - 5 août 2005 à 08:51
0
Merci
Salut, passe voir ce post

http://www.csharpfr.com/forum.v2.aspx?ID=500971
Commenter la réponse de t_barbillon
t_barbillon 341 Messages postés mercredi 8 juin 2005Date d'inscription 10 février 2009 Dernière intervention - 8 août 2005 à 08:40
0
Merci
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.
Commenter la réponse de t_barbillon
solodo 6 Messages postés dimanche 8 février 2004Date d'inscription 30 janvier 2007 Dernière intervention - 11 août 2005 à 13:47
0
Merci
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));
}
Commenter la réponse de solodo
solodo 6 Messages postés dimanche 8 février 2004Date d'inscription 30 janvier 2007 Dernière intervention - 11 août 2005 à 13:54
0
Merci
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.
Commenter la réponse de solodo
dysko 48 Messages postés mercredi 22 juin 2005Date d'inscription 7 mars 2007 Dernière intervention - 11 août 2005 à 14:22
0
Merci
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 !
Commenter la réponse de dysko
tresorunikin13 10 Messages postés lundi 24 novembre 2008Date d'inscription 26 octobre 2010 Dernière intervention - 16 janv. 2009 à 22:55
0
Merci
tres interressnt ce codes! deja la petite liste me suffit

Bonne année à tous! tresorunikin_2009
Commenter la réponse de tresorunikin13

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.