SCCM Application Installation Workflow

The most common questions I receive from our client support team is how to troubleshoot why an SCCM deployment did not work. Depending on the installation there could be any number of errors. However, to start the process, they need to review the log files. When I tell them to look at the log files, I receive this blank look on their face. Below is my attempt to document the process flow through the logs. I cannot take credit for all this work, just how it is presented. I received most of the information from Adam Pazik and Kenneth. Links to their blogs are at the end of this post.

The Log Files

AppDiscovery.log Records details about the discovery or detection of applications on client computers

Problems with Detection Methods will be logged here.

AppIntentEval.log Records details about the current and intended state of applications, their applicability, whether requirements were met, deployment types, and dependencies.
AppEnforce.log Records details about enforcement actions (install and uninstall) taken for applications on the client.

Shows the installation command lines, the context for the install, any error codes

CAS.log Records details when distribution points are found for referenced content.
ContentTransferManager.log Schedules the Background Intelligent Transfer Service (BITS) or Server Message Block (SMB) to download or access packages.
DataTransferService.log Records all BITS communication for policy or package access.
LocationServices.log Records the client activity for locating management points, software update points, and distribution points. Look here for boundary assignment.

High-Level Flow of Information

App Flow chart

Gather application id, deployment type id’s, and content location id

  • Add the sms:debugview parameter to the Configuration Manager Console shortcut. This will add a new workspace in the console called Tools.
  • Open the SCCM Console
  • Select the Software Library Workspace
  • Open the Application Management node
  • Select Applications
  • Right-click on the application
  • Select “Show Object Detail”
  • This will open a new view in the “Tools” workspace.
  • Select the Properties tab
  • Select the CI_UniqueID row
  • Press Ctrl+C to copy the row. This will copy all contents of the row to the clipboard
  • Open Notepad and paste the information copied. We will need the Value to search the log files. This starts with the ScopeID.
    • CI_UniqueID        String        ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/Application_e3caf11a-d885-460c-b8a6-9f4d8561f9d1/1        
  • Press the back arrow on the under the ribbon to return to the application workspace.
  • In the bottom center pane, select the Deployment Types tab
  • Right-click on the deployment type you will monitor the deployment for.
  • Select Show Object Details
  • This opens the Tools workspace with the deployment type details.
  • Click on the Properties tab
  • Select the CI_UniqueID row
  • Press Ctrl+C to copy the row. This will copy all contents of the row to the clipboard
  • Open Notepad and paste the information copied. We will need the Value to search the log files. This starts with the ScopeID.
    • CI_UniqueID        String        ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/DeploymentType_39a8609a-812d-4aa1-9ab5-d07620f60e8b/1        
  • Select the ContentID row
  • Press Ctrl+C to copy the row. This will copy all contents of the row to the clipboard
  • Open Notepad and paste the information copied. We will need the Value to search the log files. This starts with the Content.
    • ContentId        String        Content_7fc48b31-224e-4bfa-b643-a3c23c504ad1

Start Reviewing the log files

The above steps provided us with the information we need to mine information from the deployment logs. You will want to use the CMTrace.exe tool to review all log files. I will select the 7-zip application from Software Center to start the installation process to monitor.

  • Open the CMTrace.exe utility.
  • In the Open file dialog box, select the AppDiscovery.log, AppIntentEval.log, AppDiscovery.log, CAS.log, ContentTransferManager.log, and DataTransferService.log files. DO NOT click open yet.
  • Check the Merge Selected files checkbox.
  • Then click on the Open button.
  • Perform a find on the deployment type ci id in Component “AppDiscovery”

    Entering ExecQueryAsync for query “select * from CCM_AppDeliveryType where (AppDeliveryTypeId = “ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/DeploymentType_39a8609a-812d-4aa1-9ab5-d07620f60e8b” AND Revision = 1)”

    Performing detection of app deployment type 7-Zip 18.05 (x64 edition) – Windows Installer (*.msi file)(ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/DeploymentType_39a8609a-812d-4aa1-9ab5-d07620f60e8b, revision 1) for user.

    +++ MSI application not discovered [MSI Product Code: {23170F69-40C1-2702-1805-000001000000}, MSI Product version: ]

    +++ Did not detect app deployment type 7-Zip 18.05 (x64 edition) – Windows Installer (*.msi file)(ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/DeploymentType_39a8609a-812d-4aa1-9ab5-d07620f60e8b, revision 1) for S-1-5-21-3524099696-3524480935-564596544-1113.

  • Then switch focus to the “AppIntentEval.log” component. We are still searching on the deployment type CI ID

    No dependencies for DeploymentType ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/DeploymentType_39a8609a-812d-4aa1-9ab5-d07620f60e8b/1.

    DT id = ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/RequiredApplication_e3caf11a-d885-460c-b8a6-9f4d8561f9d1/1, technology = MSI

    ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/DeploymentType_39a8609a-812d-4aa1-9ab5-d07620f60e8b/1 :- Current State = NotInstalled, Applicability = Applicable, ResolvedState = Available, ConfigureState = NotNeeded, Title = 7-Zip 18.05 (x64 edition) – Windows Installer (*.msi file)

  • Then back to the AppDiscovery component.

    ActionType – Install will use Content Id: Content_7fc48b31-224e-4bfa-b643-a3c23c504ad1 + Content Version: 1 for AppDT “7-Zip 18.05 (x64 edition) – Windows Installer (*.msi file)” [ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/DeploymentType_39a8609a-812d-4aa1-9ab5-d07620f60e8b], Revision – 1

  • This is where the content request is made to the Content Access Service.
  • Now switch focus to ContentAccess component. (CAS.log file)

    Requesting locations synchronously for content Content_7fc48b31-224e-4bfa-b643-a3c23c504ad1.1 with priority Foreground

    The number of discovered DPs (including Branch DP and Multicast) is 1

    Distribution Point=’http://somedomain.com/SMS_DP_SMSPKG$/Content_7fc48b31-224e-4bfa-b643-a3c23c504ad1.1′, Locality=’SUBNET’

    **** Received request for content Content_7fc48b31-224e-4bfa-b643-a3c23c504ad1.1, size(KB) 1694, under context S-1-5-21-3524099696-3524480935-564596544-1113 with priority Foreground.

    Submitted CTM job {FA884990-BD53-4894-91B7-878671A7C8F3} to download Content Content_7fc48b31-224e-4bfa-b643-a3c23c504ad1.1 under context S-1-5-21-3524099696-3524480935-564596544-1113

  • The Content Access service submitted a Content Transfer Manager job. Now look at the ContentTransferManager component.

    Starting CTM job {FA884990-BD53-4894-91B7-878671A7C8F3}.

    Submitted CTM job {FA884990-BD53-4894-91B7-878671A7C8F3} to download Content Content_7fc48b31-224e-4bfa-b643-a3c23c504ad1.1 under context S-1-5-21-3524099696-3524480935-564596544-1113

    CTM job {FA884990-BD53-4894-91B7-878671A7C8F3} entered phase CCM_DOWNLOADSTATUS_WAITING_CONTENTLOCATIONS

    Queued location request ‘{61D59DC3-0D1E-4793-926E-327534B59B2D}’ for CTM job ‘{FA884990-BD53-4894-91B7-878671A7C8F3}’.

  • Over to Location Services log

    Created and Sent Location Request ‘{61D59DC3-0D1E-4793-926E-327534B59B2D}’ for package Content_7fc48b31-224e-4bfa-b643-a3c23c504ad1

    Calling back with the following distribution points

    Distribution Point=’http://somedomain.com/SMS_DP_SMSPKG$/Content_7fc48b31-224e-4bfa-b643-a3c23c504ad1.1′, Locality=’SUBNET’, Version=’8692′, Capabilities='<Capabilities SchemaVersion=”1.0″><Property Name=”SSLState” Value=”0″/></Capabilities>’, Signature=’http://somedomain.com/SMS_DP_SMSSIG$/Content_7fc48b31-224e-4bfa-b643-a3c23c504ad1.1.tar’, ForestTrust=’TRUE’, BlockInfo=’0′

    Calling back with locations for location request {61D59DC3-0D1E-4793-926E-327534B59B2D}

  • Back to ContactAccess (CAS.log)

    Location update from CTM for content Content_7fc48b31-224e-4bfa-b643-a3c23c504ad1.1 and request {86FB5085-ADDD-47EE-A895-8939B3FC3F6A}

    Matching DP location found 0 – http://somedomain.com/sms_dp_smspkg$/content_7fc48b31-224e-4bfa-b643-a3c23c504ad1.1 (Locality: SUBNET)

  • Note in the above line the Matching DP Location Found 0, the 0 is the index value for the array of DP’s found. It does not mean no DPs were found.
  • The next part goes back and forth between the DataTransferService log and the ContentTransferManager logs.

    CTM job {FA884990-BD53-4894-91B7-878671A7C8F3} (corresponding DTS job {A3872B43-E9D2-4B2E-AC2B-99BEF5E4F174}) started download from ‘http://somedomain.com/SMS_DP_SMSPKG$/Content_7fc48b31-224e-4bfa-b643-a3c23c504ad1.1‘ for full content download.

  • The logs will show where in the CCMCache the content is saved to and if peer cache is used.
  • Now that the source files are downloaded, we go to the AppEnforce log.

    +++ Starting Install enforcement for App DT “7-Zip 18.05 (x64 edition) – Windows Installer (*.msi file)” ApplicationDeliveryType – ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/DeploymentType_39a8609a-812d-4aa1-9ab5-d07620f60e8b, Revision – 1, ContentPath – C:\windows\ccmcache\2, Execution Context – Any

    Performing detection of app deployment type 7-Zip 18.05 (x64 edition) – Windows Installer (*.msi file)(ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/DeploymentType_39a8609a-812d-4aa1-9ab5-d07620f60e8b, revision 1) for user.

    +++ MSI application not discovered [MSI Product Code: {23170F69-40C1-2702-1805-000001000000}, MSI Product version: ]

  • The AppEnforce.log will show the command line that is run, the context it is run under, and the exit codes.
  • Still in the AppEnforce.log

    Matched exit code 0 to a Success entry in exit codes table

    Performing detection of app deployment type 7-Zip 18.05 (x64 edition) – Windows Installer (*.msi file)(ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/DeploymentType_39a8609a-812d-4aa1-9ab5-d07620f60e8b, revision 1) for user.

    +++ Discovered MSI application [AppDT Id: ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/DeploymentType_39a8609a-812d-4aa1-9ab5-d07620f60e8b, Revision: 1, MSI Product code: {23170F69-40C1-2702-1805-000001000000}, MSI Product version: ]

    ++++++ App enforcement completed (1 seconds) for App DT “7-Zip 18.05 (x64 edition) – Windows Installer (*.msi file)” [ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/DeploymentType_39a8609a-812d-4aa1-9ab5-d07620f60e8b], Revision: 1, User SID: S-1-5-21-3524099696-3524480935-564596544-1113] ++++++

  • Once the software is installed, a request is made back to the App Discovery

    Entering ExecQueryAsync for query “select * from CCM_AppDeliveryType where (AppDeliveryTypeId = “ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/DeploymentType_39a8609a-812d-4aa1-9ab5-d07620f60e8b” AND Revision = 1)”

    Performing detection of app deployment type 7-Zip 18.05 (x64 edition) – Windows Installer (*.msi file)(ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/DeploymentType_39a8609a-812d-4aa1-9ab5-d07620f60e8b, revision 1) for user.

  • AppIntentEval component to determine if the application is installed, per the detection method.

    ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/DeploymentType_39a8609a-812d-4aa1-9ab5-d07620f60e8b/1 :- Current State = Installed, Applicability = Applicable, ResolvedState = Available, ConfigureState = NotNeeded, Title = 7-Zip 18.05 (x64 edition) – Windows Installer (*.msi file)

    ScopeId_EC50924B-AE13-4D0B-B92C-F0950EB076D0/RequiredApplication_e3caf11a-d885-460c-b8a6-9f4d8561f9d1/1 :- Current State = Compliant, Applicability = Applicable, ResolvedState = Compliant, ConfigureState = NotNeeded, Title = ApplicationIntentPolicy

References:

https://blogs.technet.microsoft.com/manageabilityguys/2013/10/01/configmgr-2012-tracking-application-model-installations-on-clients/

https://deploymentparts.wordpress.com/2015/08/14/how-to-track-an-installation-through-client-log-files/

https://docs.microsoft.com/en-us/sccm/core/plan-design/hierarchy/log-files 


Posted

in

by

Tags:

Comments

16 responses to “SCCM Application Installation Workflow”

  1. Paul Faulkner Avatar
    Paul Faulkner

    Love the excellent flow chart with associated log files, great stuff.

    Like

  2. Ramanathan Avatar
    Ramanathan

    Good one

    Like

  3. john Avatar
    john

    lovely stuff

    Like

  4. BritV8 Avatar

    Excellent writeup

    Like

  5. Anders Avatar
    Anders

    Great flowchart! Could you maybe post it in a higher resolution? Would be nice to print out and pin on a board 🙂

    Like

  6. Dawn Wertz Avatar

    I increased the font size on the flow cart. Let me know if this works for you.

    Like

    1. Anders Avatar
      Anders

      Thanks for the quick reply. It’s readable on print, albeit still a bit blurry. If you have it in higher resolution than the 765×443 px that’d be amazing. If not, it’s still appreciated!

      Like

  7. Russ Avatar
    Russ

    This is great, can you do one for user targeted apps on 1806+?

    Like

  8. Jay Avatar

    I have seen a few of these guides over the years. This one, however, is light years ahead of the rest. Professionally documented and with the ‘deep dive’ information that’s often missing. Thanks for your work!!

    Like

  9. Lacerda Avatar
    Lacerda

    Hello Dawn Wertz. One word resume this article: terrific.
    OMG! I will print the chart and paste it on my wall 🙂
    Thank you very much!

    Like

  10. FRanco Avatar
    FRanco

    Greatly appreciated your explanation so professional and kindly
    thanks in advance

    Like

  11. Jeff Weidle Avatar
    Jeff Weidle

    The most thorough write up on SCCM log usage that I’ve ever seen. We’ll be including it in our efforts to train our field services teams in software deployment troubleshooting.

    Like

  12. Sai Avatar
    Sai

    Great stuff.

    Like

Leave a comment