SCCM Software Distribution Troubleshooting
The below article provide details of
content monitoring and validation from console.
2.
Reports
SCCM
reports should be the first thing to check the software deployment status. By
looking into the report you can determine the scope of failure such as large
scale failure, location based failure or client specific issues. A large scale
failure may be caused by an issue with package or programe while issue can be
related with specific client if deployment failure rate is low and limited to
few clients.
There
are multiple reports available for each category. All Software Distribution reports can be
found in below folders under Monitoring > Reporting > reports.
·
Software
Distribution – Collections
·
Software
Distribution – Content
·
Software
Distribuiton – Package and Program Deployment
·
Software
Distribution – Package and program Deployment Status
As a Deployment Administrator, it’s advisable
that you browse through all these reports and make yourself familiar so you can
quickly refer them whenever required. For Example, you can refer to “Package and program deployment status
messages for a specified client and deployment” to check the deployment status of specific deployment for specific
machine. While another report “Status of
a specified package and program deployment” can be referred to know overall
status of specific deployment.
3.
Log Files:
Reviewing
client side logs are one of the most important step to quickly identify any
possible issue with deployment. There are few log files which you should review
when troubleshooting software distribution issue. A complete list of SCCM 2012
log files are available here.
While
log files can be viewed in Notepad, there is a tool CMTrace in Configuration Manager
that will simplify log review experience. This tool can be found under
\tools folder. This tool
can be used for real time monitoring of log file. You can found here more details
about CMTrace and other tools which every Configuration Manager administrator should
know.
· Policyagent.log
When you make a change in the
Configuration Manager console, the site server creates a policy to communicate
the change to the client. The site server sends the policy to the management
point and the client polls for policy at the interval configured in the
Computer Client Agent properties. The SCCM client take appropriate actions as
soon as a policy arrived. The Policyagent.log records policy download requests
using the Data Transfer services. This log file help to troubleshoot policy
request problems.
The entries similar to below one should
be recorded in the log file policy download.
Download of policy CCM_Policy1,
PolicyID=”ScopeID_D791533_4C64JH/Authlist_43b454f-aa453d”
If you do not see any activity in
PolicyAgent.log for long time (may be couple of days) then check SCCM client
health as it may not be healthy.
·
PolicyEvaluator.log
The PolicyEvaluator.log records the
details of new policy settings. This log can help to troubleshoot policy
override issues.
·
Execmgr.log
Execmgr.log provide the execution details of the
advertised programs or updates status. This log file provide brief details such
as command line for executed program and Exit code. By looking into the error
carefully you can identify the issue quickly.
The Excemgr.log should include the below entry when a new
policy for a package arrived on client. The presence of such an entry helps you
to determine whether you have the latest policy for the new package populating
the client.
Policy arrived for parent package
PKG00001 Program Test Program1
When a policy is
updated for a program which client received earlier, the following entries will
be shown.
Policy is updated for parent
package PKG00001 Program Test Program1
If package is not available
on client machine then you will see the entry for package download request.
Requesting content from CAS for
package PKG00001 version 1
The Execmgr.log
shows download progress and completed status. The following entries should
include in the log when package download start till completion.
Program Test Program1 change to
state STATE_ADVANCED_DOWNLOAD content in progress
Execution Request for Package
PKG00001 program Test Program1 state change from NotExist to AdanceDownload
Mandatory Execution requested for
program Test Program1 and advertisement ADV00001
Successfully raised
SoftDistWaitingContentEvent event for program Test Program1
Execution Request for package
PKG00001 program Test Program1 state change from WaitingDependency to
waitingcontent
Execution Request for Package
PKG00001 program Test Program1 state change from WaitingContent to
NotifyExecutinon
The further
entries should include program path, command line and execution status.
Successfully selected content
location C:\Windows\System32\CCM\Cache\PKG00001.1.System
Command line = “C:\Windows\system32\CCM\Cache\PKG00001.1.system\TestProgram1.bat
Raised Program Started Event for
Advertisement: ADV00001, Package: PKG00001, Program: Test Program 1
Program Exit Code 0
Execution is completed for program
test program1. The exit code is 0, The execution status is success.
·
CAS.log
The CAS (Content Access Service) maintains the local
package cache, checks if it already has the content. If content is not present
in the cache then CAS instructs ContentTransferManager to initiate the
download. CAS will be notified again once download is completed. The below
details should be found in CAS.log for each requests.
Successfully created download
request for content
Matching DP location found 0
Download completed for content
·
Location services.log
The
LocationServices.log records attempt to find management points and distribution
points. This log file can help to troubleshoot
scenario where the client cannot find a management point or distribution point.
·
ContentTransferManager.log
ContentTransferManager
is the one who determines how the content should be downloaded. When package is
to be downloaded from Distribution point using BITS, the download request is
handed over to DataTransferService.log:
·
Datatransferservices.log
The DataTransferServices.log
records all Background Intelligent Transfer (BITS) communication for policy or
package download. The entries related to package download can be found here.
4.
Deployment Errors:
The Execmgr.log record the success or
failure information for all advertisements. The below information can helpful
in troubleshooting the issue.
·
Exit Code
The Excecmgr.log record the exit code for all deployment.
By understanding the exit code, you can move forward with troubleshooting in
right direction. For all success
deployment the exit code will be 0.
Execution is completed for program
test program1. The exit code is 0, the execution status is success.
To know the description of common exit codes you can use
‘net Helpmsg’ command from command prompt.
For Example, the deployment failed with Exit Code 1. As
you see in below screen shot, the error code 1 error description is ‘Incorrect
Function’. Most probably the issue should be with the command line you have
provided in Program. So, you need to re-validate the command line.
Another example:
In fact, by understanding the error code and their
description you can quickly move towards next troubleshooting steps.
You may not get
the details of all Exit code using above command. However you can refer to
Microsoft Documentation System Error Codes for
complete list of error codes. There are custom error codes for Software
Distribution which can be found here.
·
Program Failed with Runtime Exceeded Error:
The most common issues which leads to above failure
reasons are following.
1.
The “Maximum
allowed run time” set in program properties is too short for the installation
to complete. The default time is 120 minutes and it should be fine with most of
the deployment.
2. The program is not
a silent install and it’s waiting for user input. This may happen due to error
messages popup if install is not completely silent. If it’s silent install then
try to install manually with the same command line which is used in the package
program.
3.
There may be an
issue with installation package which might be getting stuck in middle. Try to
install the package manually to identify any possible issue with package.
4. Select "Allow users to interact with this program" checkbox in program properties and deploy to test machine, check if you are getting any prompt during installation.
4. Select "Allow users to interact with this program" checkbox in program properties and deploy to test machine, check if you are getting any prompt during installation.
·
Program is waiting for Service Window availability
Maintenance Windows provide
administrators with a way to define a period of time that limits when changes
can be made on the system that are members of a collection. You will see the
similar details in Execemgr.log when a Service window is not available. You can
also refer to ‘ServiceWindowsManager.log’ for more specific information about
Maintenance Windows.
Succesfully raised
SoftDistWaitingForServiceWindowEvent event for program Test Program1
Execution Request for advert ADV00001 package PKG00001 program Test Program1 state change from Ready to WaitingServiceWindow execmgr
To check all Maintenance Windows available for a client
you can refer to “Maintenance Windows
Available to a Particular Client” SCCM report.
·
Program waiting for content for long time
If you are seeing
below message for long time then there may be an issue with package download.
However review DataTransferServices.log to check if download is in progress.
Execution Request for package
program state change from WaitingDependency to
waitingcontent
Refer to the below
article to know the details about Content
Monitoring and validation
The below article
provide good details about basic content deployment troubleshooting
· Program failed with Exit Code 1603 – A fatal error occurred during installation
-The error code
1603 is a generic windows installer error code. This error indicates that a
problem occurred during installation and there can be various reason behind
failure. The error code 1603 is most difficult to check out.
The best option to
troubleshoot error 1603 to use MSI verbose logging. You need to re-run the
setup with verbose logging enabled. You can follow the similar steps listed
below.
-Generate verbose
log using below command. This command will create a verbose log file which
offers a lot of information about the installation.
Msiexec /i
\setup.msi /l*v c:\temp\msi.log
-
Open log file in a
text editor such as Notepad and review carefully.
The below article describe few tricks
which you can use to quickly identify failure reason from verbose log.
· Error: Software Distribution Site Settings for the client
are missing from WMI
The above error
indicates that client has not yet received software distribution site setting. This
may happen due to following reasons.
-
Check if client is healthy. You can review
ccmexec.log to know client health status
-
An issue with WMI, Try to stop WMI service,
rename %windir%\system32\wbem\repository folder and start WMI again.
-
Client has not received policy from
Management Point. Cheek PolicyAgent.log to know if new policies are coming.
-
Check locationservices.log to know if client
is able to locate a Management Point.
5.
References:
Troubleshooting SCCM Software Distribution
The below article briefly describe
software distribution troubleshooting from package creation till client receive
the deployment.
Troubleshooting Configuration Manager
Good article
ReplyDeletegood information about software distribution failures
ReplyDelete