--- title: EnterpriseAppManagement CSP description: Handle enterprise application management tasks using EnterpriseAppManagement configuration service provider (CSP). ms.assetid: 698b8bf4-652e-474b-97e4-381031357623 ms.reviewer: manager: dansimp ms.author: dansimp ms.topic: article ms.prod: w10 ms.technology: windows author: manikadhiman ms.date: 06/26/2017 --- # EnterpriseAppManagement CSP The EnterpriseAppManagement enterprise configuration service provider is used to handle enterprise application management tasks such as installing an enterprise application token, the first auto-downloadable app link, querying installed enterprise applications (name and version), auto updating already installed enterprise applications, and removing all installed enterprise apps (including the enterprise app token) during unenrollment. > **Note** The EnterpriseAppManagement CSP is only supported in Windows 10 Mobile. The following shows the EnterpriseAppManagement configuration service provider in tree format. ```console ./Vendor/MSFT EnterpriseAppManagement ----EnterpriseID --------EnrollmentToken --------StoreProductID --------StoreUri --------CertificateSearchCriteria --------Status --------CRLCheck --------EnterpriseApps ------------Inventory ----------------ProductID --------------------Version --------------------Title --------------------Publisher --------------------InstallDate ------------Download ----------------ProductID --------------------Version --------------------Name --------------------URL --------------------Status --------------------LastError --------------------LastErrorDesc --------------------DownloadInstall ``` ***EnterpriseID*** Optional. A dynamic node that represents the EnterpriseID as a GUID. It is used to enroll or unenroll enterprise applications. Supported operations are Add, Delete, and Get. ***EnterpriseID*/EnrollmentToken** Required. Used to install or update the binary representation of the application enrollment token (AET) and initiate "phone home" token validation. Scope is dynamic. Supported operations are Get, Add, and Replace. ***EnterpriseID*/StoreProductID** Required. The node to host the ProductId node. Scope is dynamic. Supported operation is Get. **/StoreProductID/ProductId** The character string that contains the ID of the first enterprise application (usually a Company Hub app), which is automatically installed on the device. Scope is dynamic. Supported operations are Get and Add. ***EnterpriseID*/StoreUri** Optional. The character string that contains the URI of the first enterprise application to be installed on the device. The enrollment client downloads and installs the application from this URI. Scope is dynamic. Supported operations are Get and Add. ***EnterpriseID*/CertificateSearchCriteria** Optional. The character string that contains the search criteria to search for the DM-enrolled client certificate. The certificate is used for client authentication during enterprise application download. The company's application content server should use the enterprise-enrolled client certificate to authenticate the device. The value must be a URL encoded representation of the X.500 distinguished name of the client certificates Subject property. The X.500 name must conform to the format required by the [CertStrToName](/windows/win32/api/wincrypt/nf-wincrypt-certstrtonamea) function. This search parameter is case sensitive. Scope is dynamic. Supported operations are Get and Add. > **Note** Do NOT use Subject=CN%3DB1C43CD0-1624-5FBB-8E54-34CF17DFD3A1\\x00. The server must replace this value in the supplied client certificate. If your server returns a client certificate containing the same Subject value, this can cause unexpected behavior. The server should always override the subject value and not use the default device-provided Device ID Subject= Subject=CN%3DB1C43CD0-1624-5FBB-8E54-34CF17DFD3A1\\x00 ***EnterpriseID*/Status** Required. The integer value that indicates the current status of the application enrollment. Valid values are 0 (ENABLED), 1 (INSTALL\_DISABLED), 2 (REVOKED), and 3 (INVALID). Scope is dynamic. Supported operation is Get. ***EnterpriseID*/CRLCheck** Optional. Character value that specifies whether the device should do a CRL check when using a certificate to authenticate the server. Valid values are "1" (CRL check required), "0" (CRL check not required). Scope is dynamic. Supported operations are Get, Add, and Replace. ***EnterpriseID*/EnterpriseApps** Required. The root node to for individual enterprise application related settings. Scope is dynamic (this node is automatically created when EnterpriseID is added to the configuration service provider). Supported operation is Get. **/EnterpriseApps/Inventory** Required. The root node for individual enterprise application inventory settings. Scope is dynamic (this node is automatically created when EnterpriseID is added to the configuration service provider). Supported operation is Get. **/Inventory/***ProductID* Optional. A node that contains s single enterprise application product ID in GUID format. Scope is dynamic. Supported operation is Get. **/Inventory/*ProductID*/Version** Required. The character string that contains the current version of the installed enterprise application. Scope is dynamic. Supported operation is Get. **/Inventory/*ProductID*/Title** Required. The character string that contains the name of the installed enterprise application. Scope is dynamic. Supported operation is Get. **/Inventory/*ProductID*/Publisher** Required. The character string that contains the name of the publisher of the installed enterprise application. Scope is dynamic. Supported operation is Get. **/Inventory/*ProductID*/InstallDate** Required. The time (in the character format YYYY-MM-DD-HH:MM:SS) that the application was installed or updated. Scope is dynamic. Supported operation is Get. **/EnterpriseApps/Download** Required. This node groups application download-related parameters. The enterprise server can only automatically update currently installed enterprise applications. The end user controls which enterprise applications to download and install. Scope is dynamic. Supported operation is Get. **/Download/***ProductID* Optional. This node contains the GUID for the installed enterprise application. Each installed application has a unique ID. Scope is dynamic. Supported operations are Get, Add, and Replace. **/Download/*ProductID*/Version** Optional. The character string that contains version information (set by the caller) for the application currently being downloaded. Scope is dynamic. Supported operations are Get, Add, and Replace. **/Download/*ProductID*/Name** Required. The character string that contains the name of the installed application. Scope is dynamic. Supported operation is Get. **/Download/*ProductID*/URL** Optional. The character string that contains the URL for the updated version of the installed application. The device will download application updates from this link. Scope is dynamic. Supported operations are Get, Add, and Replace. **/Download/*ProductID*/Status** Required. The integer value that indicates the status of the current download process. The following table shows the possible values.
0: CONFIRM |
Waiting for confirmation from user. |
1: QUEUED |
Waiting for download to start. |
2: DOWNLOADING |
In the process of downloading. |
3: DOWNLOADED |
Waiting for installation to start. |
4: INSTALLING |
Handed off for installation. |
5: INSTALLED |
Successfully installed |
6: FAILED |
Application was rejected (not signed properly, bad XAP format, not enrolled properly, etc.) |
7:DOWNLOAD_FAILED |
Unable to connect to server, file doesn't exist, etc. |