System Center Application Deployment is taking too long

How to make the Application deployments show up fast on the client.

SCRIPTSSCCM

b

5/9/20253 min read

Why does my application take so long to deploy?

I see this all the time. It shouldn’t take any time at all if you understand the flow of system center and the policies.


Let’s understand the process flow a little
You make a deployment then you go to the computer and click on the software center or company portal. This process tells your computer to go find a policy from a management point and it asks the primary site server if the computer (or user) has a policy for any applications. If it does then you click on the applications listed in the software center and install them.

or more succinctly put:

  1. An Admin creates a new instruction (deployment, configuration, etc.) for clients.

  2. This policy is created and stored in the Site Database.

  3. The Site Client (endpoint device) requests new policy from the Management Point (MP) — this usually happens on a schedule (e.g., every hour).

  4. The MP receives the request from the client.

  5. The MP queries the Site Database to check if there's a new policy relevant to the client.

  6. If a new policy exists, it's returned to the MP from the database.

  7. The MP sends the new policy to the client.

  8. The client receives and processes the policy.

How do we speed up deployments?

Firstly I’m assuming we are using a test machine and we can do whatever we want to this machine to get the software ready for deployment to production. These steps are used to speed up the process and remove all the ‘waiting’ for the normal policies to take affect.

  • When creating a deployment test it as ‘available’ first.

  • Make the schedule to the day before and one hour later (technically a few minutes later works if you’re passing the midnight hour) . I deployed this one on may 9th at 8:51 UTC, but I made the deployment for the day before May 8th and one hour later 9:51 UTC. The reason for doing this is because time zones are annoying and can deploy your deployment policy. If you schedule it for the day before, then you know the policy is already ready for you.

  • on the client pc you need to tell it to go get the policy. Open the configuration manager control panel shortcut. (C:\Windows\CCM\SMSCFGRC.cpl).

    1. start->control panel->configuration manager

    2. go to the actions tab and run the Application Deployment Evaluation Cycle and either the Machine policy retrieval & evaluation Cycle or the User Policy Retrieval & Evaluation Cycle depending on how you deployed the application.

Your software should now appear in the software center or company portal. Yay

But what if i have to redeploy after a 'tweak'?

If you’ve deployed this application and had to make a tweak, and you’re in some failed and retry state for the deployment even after you have deleted it and recreated the deployment, then you can make a more drastic approach to get it to work quickly, rather than waiting for it all to reset.

The information that stores what you’re doing with the software catalog is this file.

C:\Windows\CCM\CcmStore.sdf

Delete the file and then open software center and it’s like a brand new deployment. Remember the note above where I suggest doing this on test machines because it will remove the other listed items from the software center such as already installed applications. They will need to reevaluate. This isn’t an issue, as they are already installed and won’t be reinstalled if your detection rules haven’t changed.

use this simple batch script to stop the SMS Agent host (CCMEXEC) and then delete the file, then restart the service.