SCCM Software Deployment in 2026: Step-by-Step Mastery

Microsoft System Center Configuration Manager (SCCM), now part of Microsoft Endpoint Configuration Manager, is the industry standard for deploying and managing software across enterprise Windows environments. This guide covers everything you need to know about SCCM software deployment in 2026 — from application creation to troubleshooting failed deployments.

What is SCCM Software Deployment?

SCCM software deployment allows IT administrators to push applications, scripts and updates to Windows devices across the organisation without user interaction. Deployments can be targeted to device or user collections, scheduled for specific maintenance windows, and monitored centrally from the SCCM console.

Prerequisites

  • SCCM Current Branch (2303 or later recommended)
  • SQL Server 2019 or later
  • At least one Distribution Point configured and accessible
  • SCCM client agent installed on target devices
  • Boundaries and Boundary Groups correctly configured
  • Content distributed to Distribution Points

Step 1 — Verify Your SCCM Environment

Before creating any deployment, verify your environment is healthy. In the SCCM console go to Monitoring → System Status → Site Status. All components should show green. Check the following logs on the site server if you see any errors:

  • SiteComp.log — site component issues
  • Distmgr.log — distribution point issues
  • SMSProv.log — SMS provider issues

Step 2 — Create the Application

In the SCCM console navigate to Software Library → Application Management → Applications and click Create Application.

MSI Application

  1. Select Automatically detect information about this application from installation files
  2. Set type to Windows Installer (*.msi file)
  3. Browse to your MSI file on a UNC path — SCCM will auto-populate the application name, version and publisher
  4. Review and adjust the installation command if needed — default is msiexec /i "application.msi" /q
  5. Complete the wizard and click Close

EXE / Script Application

  1. Select Manually specify the application information
  2. Enter the application name, publisher and version
  3. On the Deployment Types tab click Add and select Script Installer
  4. Set the installation program — for example: setup.exe /silent /norestart
  5. Set the uninstall program if required
  6. Configure the detection method (see below)

Step 3 — Configure the Detection Method

The detection method tells SCCM whether the application is already installed. Without a correct detection method SCCM will attempt to reinstall on every policy refresh. Common detection methods:

MethodUse CaseExample
Registry KeyMSI and most EXE installersHKLM\SOFTWARE\Notepad++
File SystemApplications that create a specific fileC:\Program Files\App\app.exe version 1.0
MSI Product CodeMSI packages{product-guid}
Windows InstallerMSI packages with known product codeAutomatic from MSI metadata

Step 4 — Distribute Content to Distribution Points

  1. Right-click the application and select Distribute Content
  2. Click Add → Distribution Point and select your DPs
  3. Monitor distribution progress at Monitoring → Distribution Status → Content Status
  4. Wait until all DPs show Success before deploying

Step 5 — Deploy the Application

  1. Right-click the application and select Deploy
  2. Select your target Collection — device or user collection
  3. Set Action to Install and Purpose to Required (mandatory) or Available (optional)
  4. Configure the Scheduling — set a deadline for required deployments
  5. Configure User Experience — whether to show notifications and allow users to defer
  6. On the Distribution Points tab set the deployment options
  7. Complete the wizard

Step 6 — Monitor the Deployment

Monitor deployment progress at Monitoring → Deployments. Select your deployment to see a summary of success, in progress, error and unknown states. For detailed per-device status go to the Asset Details tab.

Key log files for troubleshooting on the client:

  • AppDiscovery.log — detection method results
  • AppEnforce.log — installation results and errors
  • CAS.log — content download from DP
  • DataTransferService.log — content transfer issues
  • PolicyAgent.log — policy download issues

PowerShell — Trigger SCCM Policy and Deployment

# Force machine policy retrieval
Invoke-WmiMethod -Namespace root\ccm -Class SMS_Client -Name TriggerSchedule -ArgumentList "{00000000-0000-0000-0000-000000000021}"

# Force application deployment evaluation
Invoke-WmiMethod -Namespace root\ccm -Class SMS_Client -Name TriggerSchedule -ArgumentList "{00000000-0000-0000-0000-000000000121}"

# Check pending deployments via PowerShell
Get-WmiObject -Namespace root\ccm\clientsdk -Class CCM_Application | Select Name, InstallState, ResolvedState

Common SCCM Deployment Errors and Fixes

ErrorCauseFix
0x87D00324Application not detected after installCheck detection method — registry key or file path incorrect
0x80070643MSI installation failureCheck AppEnforce.log — usually a prerequisite or conflict issue
0x87D01201Content not found on DPRedistribute content to distribution point
0x87D00267Deployment deadline passedUpdate deadline in deployment properties
No policy receivedClient not in correct boundary or collectionCheck boundaries and verify client is in target collection

Related SCCM Guides

Frequently Asked Questions

What is the difference between Required and Available deployments in SCCM?

A Required deployment installs automatically at the specified deadline without user interaction. An Available deployment appears in Software Centre and the user can choose when to install it. Use Required for mandatory software and security updates, Available for optional software.

How do I deploy software to a specific computer in SCCM?

Create a device collection containing just that computer, or use an existing collection if the device is already a member. Target your deployment at that collection. You can also right-click a device in All Systems and select Install Application for an immediate one-off deployment.

Why is my SCCM deployment showing as Unknown?

Unknown status means SCCM has not yet received a status message from the client. This usually means the client has not yet downloaded the policy, the client is offline, or there is a communication issue between the client and the management point. Check PolicyAgent.log on the client.

How long does it take for SCCM to deploy software after the deadline?

Once the deadline passes SCCM will attempt installation within the next policy evaluation cycle, typically within 60 minutes. You can force immediate installation by running Machine Policy Retrieval from the Configuration Manager control panel on the client or using PowerShell to trigger the schedule.

Can I deploy software to users rather than devices in SCCM?

Yes — SCCM supports both device-based and user-based deployments. User-based deployments follow the user to any device they log into, provided User Device Affinity is configured. Device-based deployments install on the machine regardless of who is logged in.

What is the difference between SCCM and Intune for software deployment?

SCCM is an on-premises solution best suited for traditional domain-joined environments with complex deployment requirements. Intune is cloud-based and ideal for modern management of Azure AD-joined and hybrid-joined devices. Microsoft Endpoint Configuration Manager can manage both via co-management, giving you the best of both worlds.

About The Author


Discover more from TechyGeeksHome

Subscribe to get the latest posts sent to your email.

Leave a comment