Purpose
This article covers how to troubleshoot software distribution from the client side.
Software Distribution Process
Logs
These logs will be used in diagnosing the issue:
- C:\Program Files (x86)\LANDesk\LDClient\Data\sdclient.log
- C:\Program Files (x86)\LANDesk\LDClient\Data\sdclient_task##.log
Get the Task ID
Each scheduled task gets a unique Task ID value. We will use this value to track the task, and identify where the actions got to.
- Right click the Scheduled task and choose Info
- Locate the number in the ID field
Example: Task ID 3601
Did the Policy xml download to client?
Check the Policies directory on the client to see if the policy xml for the task was downloaded. The xml will be named CP.{TaskID}.....xml.
Example: C:\ProgramData\LANDesk\Policies\CP.3601.RunNow._zJo9YNYzZGuoUqvHKI955qjYuB0=.xml
Yes
Go to: Did sdclient run the task?
No
Go to: {policy sync article}
Did sdclient run the task?
When Policysync executes an /enforce, it will run any unprocessed policies. The C:\Program Files (x86)\LANDesk\LDClient\Data\sdclient.log will indicate if it processes the task specific policy.
Example:
RunAppMain: command Line : /policyfile="C:\ProgramData\LANDesk\Policies\CP.3601.RunNow._zJo9YNYzZGuoUqvHKI955qjYuB0=.xml"
Yes
Go to: Did sdclient_task## run the primary file?
No
Review C:\Program Files (x86)\LANDesk\LDClient\Data\sdclient.log for errors.
Did sdclient_task## run the primary file?
When sdclient processes a task specific policy, it will generate an sdclient_task log which contains the task ID:
Example: C:\Program Files (x86)\LANDesk\LDClient\Data\sdclient_task3601.log
When processing the policy, sdclient will call and execute the primary file in the distribution package with whatever switches are listed in the package.
Example:
Execute Msiexec.exe with command Line: "Msiexec.exe" /quiet /norestart /i "C:\Program Files (x86)\LANDesk\LDClient\sdmcache\ldlogon\swd_packages\7zip\7z920.msi" REBOOT=ReallySuppress
Yes
Go to: Did sdclient_task## receive an exit code?
No
Review the sdclient_task##.log for errors.
Example: Primary file fails to download
Thu, 20 Aug 2015 07:43:24 DoDownloadFromSourceSteps: DOWNLOAD_ERROR_GENERAL_FAILURE
Thu, 20 Aug 2015 07:43:24 Download Error: err=1, path=\\96-core3\ldlogon\swd_packages\7zip\7z920.msi
Thu, 20 Aug 2015 07:43:25 processing of package is complete, result -1918107543 (0x8dac0069 - code 105)
Did sdclient_task## receive an exit code?
When a package finishes running, it will give a return/exit code to sdclient which will be logged in the sdclient_task##.log.
Example:
processing of package is complete, result 229392420 (0x0dac4024 - code 16420)
Yes
If an exit code was returned, this indicates that the package finished or terminated. Searching the exit code in the LDMS community, or online can provide more information regarding the error.
Common Exit Codes:
- 0 - Success
- 3010 - Reboot Required
Other exit codes may have different meanings depending on the vendor of the application.
MSI packages use standardized exit codes which are listed here
.
No
If the primary file was listed as being executed, but no exit code has been returned, this typically means that the file is still 'running'.
- Open windows task manager, and view the list of running processes
- Right click the column headers and choose 'Select Columns'
- Check the box for Command Line and press Ok
- Look for the primary file as a running process
- Check under the Command Line column and see if it contains any switches
By default LDMS will install software hidden from view. This means that most applications require a silent/unattended switch to install without asking for any user interaction. If the software is called without switches, it will launch, and the software believes it is waiting for user interaction, however the windows are hidden which puts the software in a 'frozen' state of waiting.
To correct this:
- Terminate the stalled process on the client
- Provide necessary silent switches in the package on the LDMS Core
- Switches can vary between software vendors. Consult programs whitepapers for info on silent installation. (typically you can search online for "{program name} silent install")
Note: MSI's are the exception to the switch rule.
MSI's are standardized and use the same switches for installing. As such, LDMS automatically provides necessary switches for MSI packages.
Did the task return a status?
Mon, 17 Aug 2015 10:05:54 Sending task status, cmd line -coreandip=96-CORE3.evdomain.local -taskid=3603 -retcode=229392442 "-ldap=CN=Nevans,CN=Users,DC=evdomain,DC=local" -pkgid=1089
Exec: Launch request <"C:\Program Files (x86)\LANDesk\LDClient\PolicySync.exe" -taskid=3601> (sync 0, timeout 2147483647)