Exercise Overview:

This mini lab will allow you to troubleshoot five different software installation issues for Config Mgr and Nomad. This course requires the learner to be familiar with both Config Mgr and Nomad.

Notepad++ Scenario

In this scenario we will be deploying Notepad++ and then determine why the installation failed.

    First, we will deploy the package.

    1ETRNCM
  1. On 1ETRNCM, logged on as 1ETRN\SCCMAdmin, open the Config Mgr Console
  2. Navigate to Software LibraryApplication Management - Packages and right click on Notepad++ and choose deploy
  3. On the General page Collection field click on Browse and choose the Lab Workstations collection click ok then Click Next
  4. On the Content page Click Next
  5. On the Deployment Settings page in the purpose field choose Required and click next
  6. On the Scheduling page click the New button and choose Assign immediately after this event leave As soon as possible selected and click Ok then click Next
  7. On the User Experience page in the Notification settings section check Allow users to run the program independently of assignments click Next
  8. On the Distribution Points page click next On the Alerts page click Next
  9. On the Summary page click Next
  10. On the Completion page click Close
  11. Navigate to Assets and ComplianceDevice Collections and right Click on Lab Workstations and choose Client Notification Download Computer Policy Click Ok on the warning box

Now we will look at a target device to see what happened

1ETRNW71
  1. Log into 1ETRNW71 as 1ETRN\User
  2. Open the Control Panel - Programs and Features. Check to see if Notepad++ installed. Notice that the software is not installed.
  3. Open Software Center and select Notepad++ to see the status.  Notice that it has failed.
  4. Click on Failed to see if there are any additional details.  Click the down arrow next to more information
  5. To see the details of the error code copy the first set of numbers (before the open parenthesis)
  6. Open CMTrace from c:\tools and click Tools and choose Error Lookup paste the code in the Error code field and click Lookup
  7.  CMTrace error lookup is very useful for Windows, Windows Installer, and Config Mgr error codes

  8. You can see is this an error that the system cannot find the file specified. Close the Error Lookup window. Now we will trace the content starting with Config Mgr handoff to the Alternate Content Provider.  In our case, Nomad
  9. Open c:\windows\ccm\logs\cas.log from the File menu and scroll to the bottom of the log. Choose Tools - Find and search for successfully created download in the up direction. Click F3 to move to the next entry in the log until you find the line that references the Notepad++ package ID PS10005E
  10. Notice that Content Access Service located the content on the DP and then logs a request for download.  Note the time of that entry
  11. Now open ContentTransferManager.log and scroll to the entries that happen at the time that you noted from cas.log. Notice that Content Transfer Manager at that same time logged that Nomad was the Alternate Content Provider.
  12. Open the NomadBranch.log and look for the same time as the call to Nomad from the last log
  13. Notice how Nomad calls for an election (RequestElection and package ID) and then keep reading as a master is elected (MyElection done - Winner is) LSZ file is requested (if from a DP or an LST if from a peer) and then the download begins
  14. It is very difficult to search for all the same time stamps to determine where we should be in the log.  CMTrace gives us the ability to open multiple logs in one window.  Let’s do that now and load up all the logs we need for Content Delivery Troubleshooting.  You need to have CMTrace already open in order to merge the logs.  The Component column will tell you which log that line is coming from in Config Mgr.  Nomad uses that column a bit differently, but you will still be able to tell which entries are from the Nomad log. 

  15. Click on File at the top and choose Open
  16. Then multi select cas.log, ContentTransferManager.log, Execmgr.log, and NomadBranch.log make sure to check the box at the very bottom Merge selected files before clicking Open
  17. Once they all open search for PS10005E
  18. Using the Highlight function as a means of searching is also very useful, especially when you want to search for the same entry in multiple rows of the log.

  19. Read through the lines of the logs until you see that the Nomad download completes. the Nomad hash check completes, then Nomad creates the hardlink to the Config Mgr cache
  20. Find the line where Content Transfer Manager picks back up in the process and hands back to Content Access Service (cas.log) which performs the Config Mgr hash check
  21. Then notice how ExecMgr now is tasked with executing what is on the Program of our package to install Notepad++
  22. Keep scrolling down until you see what ExecMgr is going to execute on the device an executable with a switch (/S)
  23. Then notice how Exec Mgr is going to execute it from the location in the ccm cache.  This will tell you what folder the files are in since they have a name that is created based on how many items are in the cache (the folder is named just the next number or the next letter in the alphabet).
  24. Keep reading until the line about what happened when Exec Mgr tries to launch this executable
  25. Notice the entry is Invalid executable.  Notice the command line that is being used by Exec Mgr. 
  26. Now navigate to the location in the CCMCache mentioned in the log to take a look at the files.
  27. Notice that the executable in the folder has a different name than our executable in the cache
  28. This problem was not an issue with Nomad or with the SCCM system.  This issue is a typo on our program.  Config Mgr is kicking off exactly what it was told to execute, it was just the wrong command line.  There will be times when looking at the file may not tell you the exact issue so at that point executing the same command line that was executed by Exec Mgr may allow you to see what the message it displays or why it did not install.

Extra Credit

Go to the Config Mgr console and correct the command line to install Notepad++. Force the devices to actually install the software.

7-Zip Scenario

We will be deploying 7-Zip to the devices, and then we will determine why the installation failed.

First, set up the deployment

1ETRNCM
  1. On 1ETRNCM, logged on as 1ETRN\SCCMAdmin, open the Config Mgr Console
  2. Navigate to Software LibraryApplication Management - Applications and right click on 7-Zip 17.00 and choose deploy
  3. On the General page Collection field click on Browse and switch to Device Collections and choose Lab Workstations from the list click ok then Click Next
  4. On the Content page Click Next
  5. On the Deployment Settings page in the purpose field choose Required and click next
  6. On the Scheduling page click Next
  7. On the User Experience page click Next
  8. On the Alerts page click Next
  9. On the Summary page click Next
  10. On the Completion page click Close
  11. Navigate to Assets and ComplianceDevice Collections and right click on Lab Workstations and choose Client Notification - Download Computer Policy Click ok on the warning message

Check the results on a device that was targeted for the deployment.

    1ETRNW101
  1. Check the device to see if 7-Zip installed. It did not.
  2. Open CMTrace and merge the four logs that we have been using.
  3. As you are looking at logs with CMTrace the file is not locked and can still be written to while you are viewing.  A problem occurs, though, when you are not viewing the bottom of the log (to see the lines as they are being added) the scroll feature will move you to the bottom of the log each time the log is updated. This makes it especially difficult if the log is a busy one or if you have multiples open at the same time (opening multiple logs makes even non-busy logs seem busy).  The way to combat this is to pause the log using the button at the top that looks like the pause on a video or use the pause from the Tools menu.

  4. Search the log entries for 1116 (this is the last 4 characters of our Application ID)
  5. Search for the lines that show the following milestones in the process
  6. Policy download

    Content download request

    Check for the Alternate content provider

    Registration of Nomad as the ACP

    Since this deployment is for an Application model in Config Mgr - they are enabled for Nomad as a whole using client settings. We will check another device to see if that deployment used Nomad.
  7. Notice that the ACP was not called
  8. 1ETRNW71
  9. Search for 1116 and look for the registration of Nomad as the ACP
  10. Notice that this one correctly did call the ACP. We will return to this device later.
  11. We know that Nomad is working properly for the Application model type content. The issue must be related to this specific device.
    1ETRNW101
  12. Navigate to c:\programdata\1e\NomadBranch Is the Nomad Cache present?
  13. Why is there no c:\programdata folder? The default view is to hide some folders. Show hidden files and folder now using View - Options - Change Folder and Search Options - View tab - Show Hidden
  14. Now navigate to c:\Program files\1e\nomadBranch. Notice there is no NomadBranch folder present
  15. Open Control Panel - Programs and Features check for 1E NomadBranch it appears to have been removed.
  16. Since Nomad has been uninstalled from the device the Config Mgr client will just go ahead and provide the content delivery to the machine. In a Nomad environment this could be an unwanted situation since the distribution point may not be local and could impact the network. It is advisable to have Nomad reinstalled on this device were it in a production environment.


Now we will return to our other device that is using Nomad

1ETRNW71
  1. Back in CMTrace with our 4 logs merged look for the download to complete
  2. Notice our error messages that both Nomad and Config Mgr the files have failed the hash check.
  3. When the download fails the hash check it means that the files in the content library do not match the files in the local cache.

    First we will take a look at Config Mgr for the content

    1ETRNCM
  4. Open the Config Mgr console and navigate to Monitoring - Distribution Status - Content Status and look for 7-Zip 17.00 and double click it
  5. The content was distributed to the DP successfully - so the files should be in the content library on our server
  6. Since our DP is our Config Mgr server we will look at the folder structure and learn about the make up of the Content Library
  7. Open file explorer and double click C. Our Content Library is on the C drive in this lab but this might not aways be the case as Config Mgr will auto-chose the largest drive if the default settings are used when installing the DP role.
  8. Open SCCMContentLibrary folder
  9. Open the DataLib folder and find our Application model Content ID (last 4 are 1116) open that folder
  10. Open the INI file and read the contents of the file. Notice the name of the INI file is the name of our application and also has MSI to show the proper extension of this file. SCCM uses this information to reassemble the folder and contents in the SCCM cache on the local device. The files in the content library are set up for "security based on obscurity" the files are renamed with clues to tell Config Mgr how to put them back together in order to execute the installation.
  11. Notice the hash value. Make note of the first 4 characters. Close the INI file without making any changes.
  12. Go back to SCCMContentLib and open FileLib and search for the characters you noted from the last step.
  13. Notice that someone has renamed our folder to 56CA_old that is why the files did not pass the hash check .
  14. In the real-world the folders would not be renamed. This is for ease in the lab environment of "fixing" this issue. In a production environment you might see the files get corrupted or deleted completely.
    Typically, we do not have to go to these lengths to troubleshoot the Content Library. Normally, we would see a failure in the monitoring log and usually we would just update the distribution points and allow Config Mgr to put the files back out there.

Extra Credit

Redistribute the content using the Content Locations tab on the properties of the application in Config Mgr and install 7-Zip 

Since this is the application model the content ID will change once we update the distribution point.

XML Notepad Scenario

In this scenario we will be deploying XML Notepad package to our devices.  We will then look at the failure and determine root cause.

    1ETRNCM
  1. On 1ETRNCM, logged on as 1ETRN\SCCMAdmin, open the Config Mgr Console
  2. Navigate to Software LibraryApplication ManagementPackages
  3. Right click the XML Notepad package and click deploy
  4. On the General page Collection field click on Browse and choose the Lab Workstations collection click ok then Click Next
  5. On the Content page Click Next
  6. On the Deployment Settings page in the purpose field choose Required and click next
  7. On the Scheduling page click New and choose Assign immediately after this event leave As soon as possible selected and click Ok then click Next
  8. On the User Experience page check Allow users to run the program independently of assignments and click Next
  9. On the Distribution Points page click Next
  10. On the Summary page click Next
  11. On the Completion page click Close
  12. Navigate to Assets and ComplianceDevice Collections and right click on Lab Workstations and choose Client Notification - Download Computer Policy Click Ok on the box to continue
  13. Check the results on a device that was targeted for the deployment.

    1ETRNW71
  14. Open Control panel and navigate to Programs and Features check to see if XML Notepad is installed.  Notice that it is not installed
  15. Open CMTrace and then open and merge our log files for content delivery.  If you cannot remember all 4 of them check the first exercise.
  16. Find the first instance of PS10004C and look for the line Policy Arrived for our package and program
  17. Notice the next line, our package cannot execute because it has run on this device previously and we set our deployment to only run if it failed last time.  Continue reading the lines to the one that says no need to re-run. Notice that ExecMgr is logging this - this is coming from Config Mgr.
  18. Since we have our deployment set to only rerun in the event of a failure, XML notepad did not install this time.  We will change the deployment to always rerun and try it again.  Leave everything open and we will come back to this device.

    1ETRNCM
  19. On 1ETRNCM, logged on as 1ETRN\SCCMAdmin, open the Config Mgr Console
  20. Navigate to Software LibraryApplication ManagementPackagesXML Notepad and click the Deployments tab at the bottom
  21. Double click the deployment to our lab devices and click the Scheduling tab
  22. At the bottom change Rerun behavior to always rerun
  23. Navigate to Assets and ComplianceDevice CollectionsLab Workstations and right click and choose Client NotificationDownload computer policy Click Ok on the warning message
  24. 1ETRNW71
  25. Take a look at the logs in CMTrace now and search for our XML Package ID.   We should again see the policy is updated
  26. Notice that the Alternate Content Provider is checked and Nomad is registered as the ACP
  27. Notice that Config Mgr went ahead and downloaded into the CCM Cache.  Notice the path.  Check the device to see that XML Notepad did get installed

  28. Check to see that Nomad is installed on this device by navigating to Control Panel - Programs and Features. Nomad is installed
  29. Remember that Nomad must be installed, and the content enabled for Nomad.  Packages are enabled individually for Nomad (Applications are enabled as a whole by Client Settings).  Let’s look at our Package again.

    1ETRNCM
  30. Navigate to Software Library – Application Management – Packages – Right click on XML Notepad and choose properties
  31. Click on the Nomad tab
  32. Notice that the box next to enable Nomad is not checked.
  33. Even if we enabled Nomad here since the content is already in the CCM Cache the program will simply be executed again.  The content will not be pulled from the DP again (unless the version has changed) nor will Config Mgr hand off to the ACP.  This is a good issue to resolve though, since any devices at remote locations (especially those not having Distribution Points) should be using Nomad to avoid potential impact to the network.

Lab Summary

In this lab, you have seen how to troubleshoot different issues with Content Delivery when using Nomad.  This lab is not an exhaustive list of issues but designed to get you familiar with tracing the content through the different components of the systems.