How to get information about softwares installed on Windows Mobile devices?

May 19, 2010 | 42Gears Team

Best method is to ask the configuration service provider (CSP).

Step 1: Add Reference to Microsoft.WindowsMobile.Configuration
Step 2: Add the following statements at the top of the c# code file.

using System.Xml;
using Microsoft.WindowsMobile.Configuration;

Step 3: Prepare a csp string (xml format) and pass it to ProcessConfiguration method of ConfigurationManager. Return value is the xml string which contains all currently installed softwares on the device.

private void ListInstalledSoftwares()
string cspString = “<wap-provisioningdoc><characteristic-query type=”UnInstall”></characteristic-query></wap-provisioningdoc>”;
XmlDocument xmlResult = null;

// Use CSP to get list of installed applications
XmlDocument configDoc = new XmlDocument();
xmlResult = ConfigurationManager.ProcessConfiguration(configDoc, false);
catch (Exception ex)
Debug.WriteLine(“Failed to get list of installed applications. CSP failure. [Exception: ” + ex.Message + “]”);