While distributing a package, I noticed the SCCM package is in pending state and will not be processed. This message was logged in distmgr.log file and let’s see how to fix this.
One of the IT engineer reported an issue with operating system deployment. The error screenshot basically meant that the application was missing on a distribution point.
The application name wasn’t revealed on the screenshot rather it was the scopeid. This task sequence cannot be run because the program files for ScopeId_ID/Application_ID cannot be located on a distribution point. For more information, contact your system administrator or helpdesk operator.
To find out the application associated with the scopeid, go to your task sequence. At the bottom choose References. This will show you all applications assigned to the task sequence and their Object IDs. Match this up with the error found from the SMSTS.log.
Usually the above error is fixed by distributing the missing application to the DP. However that isn’t the case this time. Our package is stuck in pending state. So now that you have found your application name, let’s look at the steps to fix SCCM package is in pending state issue.
How to fix SCCM Package is in Pending State and will not be processed
Why does the SCCM package gets stuck in pending state ?. Probably when you distribute the package, it’s flagged for distribution, but the job never completes. Hence it remains stuck in pending state and never gets distributed to distribution point.
Package P010048F is in Pending state and will not be processed... SMS_DISTRIBUTION_MANAGER Exiting package processing thread for package P010048F. SMS_DISTRIBUTION_MANAGER Package P010048F is in Pending state and will not be processed... SMS_DISTRIBUTION_MANAGER
There are few steps that you need to perform or try in order to fix the SCCM Package stuck in Pending State issue.
Step 1 – Redistribute the package to distribution point
In the above step you found the application associated with the scopeid. Since your task sequence is failing because of the application missing, redistribute the application to distribution point.
You may also go to Monitoring workspace > content status. Search for the package and redistribute the failed application from the same window.
You can also right click the distribution point server and click Properties. Click Content tab and find your application. Select the application and click Redistribute.
Again, use the distmgr.log file to monitor the errors. In case your SCCM package again shows as pending state in distmgr.log, proceed to step 2.
Step 2 – Remove the Package from DP and distribute the content
The clean way of redistributing the package is to remove the package or content from the DP and distribute it back.
Right click the distribution point server and click Properties. Click Content tab and find your application. Select the application and click Remove.
If the content is removed successfully from the DP, distribute the content back to this distribution point. If this didn’t work for you go to step 3.
Step 3 – Recreate the Package
You can assume the old package has issues and can create a new package from scratch. This is something you want to try before going to step 4 as final solution. Once you have the new package distributed, you can delete the old one.
Step 4 – Clear the Pending Package PKGFlags via SCCM Database
This is the final step that you can try and modify the CM database to clear the pending flag. However this method is not recommended because it involves modifying the Configuration Manager database. You run the queries against the database to clear the pending flag.
So a word of caution from my end – contact Microsoft support and log a ticket prior to performing this step. MS support will help you with this issue.
If you intend to fix this on your own, backup the configuration manager database and try the below steps. Launch the SQL Server Management Studio. Right click your CM_DB and run the below query. Substitute package ID your package ID.
SELECT * FROM SMSPackages WHERE PkgID=’packageID’ and PkgFlags | 0x00020000 = PkgFlags
When you execute the above query ensure you have only record in the output.
Next, run the below query to clear pending flag for package <packageID>.
UPDATE SMSPackages SET PkgFlags = PkgFlags ^ 0x00020000 WHERE PkgID='<packageID>’and PkgFlags | 0x00020000 = PkgFlags
When you execute this query, you will notice few rows affected in the output. Close the query window and SSMS.
Finally the last step you need to do is redistribute the application to the distribution points. This time the SCCM package should distribute fine without any issues.
If you have any further questions, do let me know in the comments section.