# Understanding the ConfigMgr Application Model

## Notes

Application features

* Supersedance
* dependencies
* global conditions
* detection
  * scripts - what to return
* Differences between Packages and Applications
  * Applications added in 2012
  * Main Differences Between Packages and Applications
    * Detection (is this app installed?)
    * Package
      * Content
      * (optional) Program(s) to run on that content&#x20;
    * Apps always run from DP content (content is always downloaded from the dp)
  * Apps have requirements(via global conditions), supersedance and multiple dependencies
  * Applications have revisions
  * icons, customizations in SW center
*

![](/files/-MfIzD7nZerQCKUHasuE)

![](/files/-MfIz5_kPzcVHJAECog0)

Policy

* WMI
* Use Support Center to show grabbing of policy and processing
  * Support Center (<https://docs.microsoft.com/en-us/mem/configmgr/core/support/support-center>)
  * ConfigMgrInstallDirectory\Microsoft Configuration Manager\tools\SupportCenter
    * View Client Information and health
  * Deploy
* Update Content right click
* Important logs (<https://docs.microsoft.com/en-us/mem/configmgr/core/plan-design/hierarchy/log-files#BKMK_AppManageLog>)
  * AppIntentEval
  * AppDiscovery
  * AppEnforce

## Flow

1. Notable high-level differences for Packages versus Applications
   1. \[Package only] Copy the content to a package share on the DP
   2. \[Package only] Can install software with the content directly from the DP without downloading
   3. \[Application only] Detection&#x20;
   4. \[Application only] Custom requirements (global conditions)
   5. \[Application only] Revisions
   6. User experience in Software Center
   7. Any one else on the call think of any that are high-level worth mentioning?
2. Convert Packages to Applications
   1. Convert 7-Zip and C++
   2. Walk-through key Application functionality / features:
      1. Software Center customisation
      2. Dedicated install, uninstall and repair functions
      3. Detection
         1. Scripts and parentheses of operational precedence
      4. Dependencies
         1. In Packages too
      5. Requirements and global conditions
         1. Basic requirements in Packages too
      6. Return codes
      7. Supersedence
      8. Revisions
      9. Application Groups (pre-release)
         1. Can't use in a task sequence!
3. Policy & Logs
   1. ***\<Deploy application to collection>***
   2. Look at a client evaluating policy life using Support Center
   3. Look at where the client stores applications in WMI
   4. Logs
      1. AppIntentEval, AppDiscovery and AppEnforce
   5. Look at where the server stores applications in WMI&#x20;
4. Final protips or gotcha's
   1. Update Content
   2. Script detection interprets particular outputs as particular results: <https://docs.microsoft.com/en-us/mem/configmgr/apps/deploy-use/create-applications#about-custom-script-detection-methods>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.patchmypc.com/deep-dives/understanding-the-configmgr-application-model.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
