C# .NET - C# code to fetch Remote pc installed softwares list

Asked By Shan on 27-Oct-10 02:15 AM
Hi,

Can someone provide me the sample code to fetch remote pc insatlled software list using C#.

The below code is not working for me.


System.Management.ManagementScope oMs = new System.Management.ManagementScope("\\\\" + "Computername" + "\\root\\cimv2", oConn);

System.Management.ObjectQuery oQuery1 = new System.Management.ObjectQuery("SELECT * FROM Win32_Product ");

ManagementObjectSearcher oSearcher1 = new ManagementObjectSearcher(oMs, oQuery1);

ManagementObjectCollection oReturnCollection1 = oSearcher1.Get();

foreach( ManagementObject oReturn in oReturnCollection1 )

{

Console.WriteLine("Product : " +

oReturn["Name"].ToString());

}

janine wang replied to Shan on 27-Oct-10 02:20 AM
http://www.tiffanyjewelryonsale.org
http://www.tiffanyjewelryonsale.org
http://www.tiffanyjewelryonsale.org
http://www.tiffanyjewelryonsale.org
http://www.tiffanyjewelryonsale.org
Anurag replied to Shan on 27-Oct-10 02:44 AM
Try this:
RegistryKey.OpenRemoteBaseKey ()
Need administrative rights
Also :
using System.Management;
public static string ConnectToRegistry (string servername)
{
string regKeyToGet, keyToRead;

ConnectionOptions oConn = new ConnectionOptions();
oConn.Username = "admin";
oConn.Password = "pass";
ManagementScope scope = new ManagementScope(@"\\" + servername + @"\root\default", oConn);
registry = new ManagementClass(scope, new ManagementPath("StdRegProv"), null);

// Returns a specific value for a specified key
ManagementBaseObject inParams = registry.GetMethodParameters("GetStringValue");
inParams["sSubKeyName"] = regKeyToGet;
inParams["sValueName"] = keyToRead;
ManagementBaseObject outParams = registry.InvokeMethod("GetStringValue", inParams, null);

return outParams["sValue"].ToString();

}
Will get help from here too: http://www.codeproject.com/KB/system/C__PC_Audit.aspx?msg=3056412
Can try this tool:  http://www.microsoft.com/downloads/en/details.aspx?familyid=1D24563D-CAC9-4017-AF14-8DD686A96540&displaylang=en