How to

get installed software info

Published: 7. February 2012 | Updated: 7. February 2012
License: Microsoft Public License (MS-PL)
Categories: Windows
Tags: C# Win32 Windows WMI
Was this snippet helpful for you? YESYES / NONO

Import namespaces

using System;
using System.Collections.Generic;
using System.Management; // requires adding System.Management reference to project

Code

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Product");
ManagementObjectCollection collection = searcher.Get();

var items = new List<Win32_Product>();
foreach (ManagementObject obj in collection)
{
    var item = new Win32_Product();
    item.AssignmentType = (ushort?)obj["AssignmentType"];
    item.Caption = (string)obj["Caption"];
    item.Description = (string)obj["Description"];
    item.IdentifyingNumber = (string)obj["IdentifyingNumber"];
    item.InstallDate = (string)obj["InstallDate"];
    item.InstallDate2 = (DateTime?)obj["InstallDate2"];
    item.InstallLocation = (string)obj["InstallLocation"];
    item.InstallState = (short?)obj["InstallState"];
    item.HelpLink = (string)obj["HelpLink"];
    item.HelpTelephone = (string)obj["HelpTelephone"];
    item.InstallSource = (string)obj["InstallSource"];
    item.Language = (string)obj["Language"];
    item.LocalPackage = (string)obj["LocalPackage"];
    item.Name = (string)obj["Name"];
    item.PackageCache = (string)obj["PackageCache"];
    item.PackageCode = (string)obj["PackageCode"];
    item.PackageName = (string)obj["PackageName"];
    item.ProductID = (string)obj["ProductID"];
    item.RegOwner = (string)obj["RegOwner"];
    item.RegCompany = (string)obj["RegCompany"];
    item.SKUNumber = (string)obj["SKUNumber"];
    item.Transforms = (string)obj["Transforms"];
    item.URLInfoAbout = (string)obj["URLInfoAbout"];
    item.URLUpdateInfo = (string)obj["URLUpdateInfo"];
    item.Vendor = (string)obj["Vendor"];
    item.WordCount = (uint?)obj["WordCount"];
    item.Version = (string)obj["Version"];

    items.Add(item);
}

Class

public class Win32_Product
{
    public ushort? AssignmentType;
    public string Caption;
    public string Description;
    public string IdentifyingNumber;
    public string InstallDate;
    public DateTime? InstallDate2;
    public string InstallLocation;
    public short? InstallState;
    public string HelpLink;
    public string HelpTelephone;
    public string InstallSource;
    public string Language;
    public string LocalPackage;
    public string Name;
    public string PackageCache;
    public string PackageCode;
    public string PackageName;
    public string ProductID;
    public string RegOwner;
    public string RegCompany;
    public string SKUNumber;
    public string Transforms;
    public string URLInfoAbout;
    public string URLUpdateInfo;
    public string Vendor;
    public uint? WordCount;
    public string Version;
}
Send us feedback about this snippet »



Related Snippets: