Say Goodbye to Dell Driver Management - Use Dell Command Update in OSD

If you're using Dell machines, you might be able to forget how to import drivers moving forward.  I've tested this new method with several Dell Models, and so far, It's been working well.

My Basic Solution:

  • Using DISM, import the Dell Driver WinPE pack into the Base WIM
    • Now our Windows 7 or 10 WIM Image has all of the Storage & Network Drivers needed
  • During OSD, run the Dell Command Update utility to install rest of the drivers needed

 

  • Pros
    • No more large driver pack imports
    • Works Great in Windows 10
    • No more updating driver packs
      • As long as Command Update supports the model, you're already set
      • Always uses the latest available drivers from dell
  • Cons
    • Installs the "Extra Bloat" software along with the driver (sometimes handy, sometimes not) - I've submit feedback requesting they add a switch to install drivers only, skipping the add-on software.
    • Works So/So in Windows 7
    • Requires Internet Connection during OSD if using Dell's Internet Repo
      • You can setup your own Repo, but then you're managing a Repo
      • Downloads can be Quite Large!  (I've seen 755MB download between several driver updates), could take awhile over slow connection.

Lets Start by downloading the latest WinPE CAB from Dell's Site

If you're going to do this in MDT during your Build and Capture, place the files in a folder in the "Application" folder and then reference it during the TS. (I named the folder Drivers Win10x64 - WinPE)
Command: cmd /c dism.exe /image:C:\ /Add-Driver /driver:"z:\Applications\Drivers Win10x64 - WinPE" /recurse

Place the Step after the TS reboots back into PE, but before it's captured:
image

Here is my folder of the drivers it injects:
image
I've added an additional driver (Security Folder) that Dell Command Update didn't get, it was for the fingerprint sensor on the E5470.  I grabbed the security folder out of the CAB for the E5470. (Probably fixed the issue on some other models before I tested them)

 

If you don't want to add it to your Build & Capture, you can create a normal Package with the contents of the folder, then reference that during your ConfigMgr OSD TS:
image

Command: cmd /c dism.exe /image:C:\ /Add-Driver /driver:.\ /recurse
image

Either way will work, I've just chosen to add it to my Build & Capture since I'm 99% Dell Shop, and then it saves even more time when deploying a Dell. (However I'm testing on HP, and it seems to be working... I'll Post later if I can get the HP Updater Software to work right)

 

Then towards the end of my TS, I have 4 Steps that Installs the Command Update Software, Applies Settings, and Runs it, then reboots. - Will get into more details later.
image

 

You'll need to Create your Settings XML Settings File, install the software on a Dell machine, launch it, configure the settings, then export it.  VERY IMPORTANT.  YOU MUST CHANGE THE PATH otherwise it will FAIL during OSD.

Preparing the Dell Command Update software:

  1. Download the Dell Command Update utility from Dell
  2. Install on Dell Unit and launch software, go to Settings and set them how you'd like:
    1. General:  Make sure you set the location to c:\ProgramData\Dell\CommandUpdate (Otherwise it WILL fail during OSD) - You might have to manually edit the XML document after the fact, I had trouble manually setting this since it's a hidden folder.
      image
    2. Schedule: I've set this to Manual, as I don't want it to auto run
      image
    3. Update Filter: I've left defaults but unchecked Bios (since I have a password, this will not work, I used the Application Model to update my BIOS via Script).   I also uncheck Input, as it had installed a few things I didn't really want.  I'd recommend installing this on a machine and running it to see what updates come through, then you can change your settings accordingly.
      imageimage
    4. Export the xml file. - You can DOWNLOAD MINE HERE
  3. Create your Package Source (Dell Updater & xml file)
    image
  4. Create the ConfigMgr Package (No Programs)
    image

Now that you have your Package w/ your Dell XML File, you can add the steps to OSD.

  1. Command Line: Install Dell Command Update Package - cmd /c Systems-Management_Application_4DP6N_WN32_2.1.1_A00.EXE /s /f
    image
  2. Command Line: Modify Dell Command Update - "C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe" /import /policy OSDSettings.xml
    Make sure you set this step to "Continue on Error".  I've reported the Bug to Dell, while the import is successful, the program throws an error and will kill your TS if you don't check that box.
    image
  3. Command Line: Run Dell Command Update - "C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe" /log c:\cabs\installlogs /silent
    image
  4. Restart Computer.

Now when you image your computer, it will only have the bare driver installed until it runs the Dell Command Update, where it will check for the latest Dell supported drivers and apply them to your system.

Systems Tested:

  1. Windows 10 1511 x64
    1. Latitude E6540
    2. Latitude E5470 - missing fingerprint scanner driver (As noted earlier)
    3. Latitude E7275
    4. Latitude E7250
    5. Latitude E7270
    6. Latitude E7240
  2. Windows 7 x64 (kind of works - but I wouldn't use this to replace Driver Packages, just supplement it)
    1. Latitude E6540 - Missing Drivers after OSD:
      1. Resolved by running Command Update Manually after OSD and changing Setting -> Update Filter to "All updates for system model" and choosing the drivers to install.
        1. STMicroelectonics 3-Axis Digital Accelerometer
        2. Realtek HD Audio (Used Default HD Audio drivers, it did work
        3. BayHubTech /O2Micro Integrated SD Controller (used default driver, did work)
        4. Intel Smart Connect Technology
          image
      2. Resolved by running MS Updates (wuapp) pointed to the Internet
        1. Intel Active Management Technology - SOL
        2. Intel Management Engine Interface
          image
      3. After running both:
        image
    2. Latitude E7250 - Missing Drivers after OSD:
      1. Resolved by running Command Update Manually after OSD and changing Setting -> Update Filter to "All updates for system model" and choosing the drivers to install.
        1. Intel Wireless
        2. Intel Dynamic Platform & Thermal Framework
        3. Realtek HD Audio (Used Default HD Audio drivers, it did work)
        4. O2Micro Integrated SD Controller (used default driver, did work)
        5. Broadcom USH (Dell ControlVault w/o Fingerprint Sensor
          image
      2. Missing after running Dell Command Update - NONE !
        image
    3. Latitude E5550 - Same Results as the E7250, just missing a few more drivers, but found them all when running manual update from Command Update:
      1. Right after OSD:
        image
      2. After running the Updater:image

 

Takeaways.  For New Windows 10 Machines, we've switched to this model.  No more downloading Dell Driver Packs and applying drivers.  Just Injecting the Core Drivers into the WIM, then running Dell Command Update to get the rest and Update to the latest Dell Supported Drivers.  On Windows 7, we still use the Dell Supplied Driver Packs, but run Dell Command Update at the end of OSD to update NIC / Video and whatever else it can find.

This is great for testing new Models, instead of taking time to import the drivers, just image it and Dell Command Update will do it's part to get you far enough along. 

There are still quite a few bugs in Dell Command Update 2.1.1 that I've been reporting, and I expect with each new version, it will be better and better.

19 thoughts on “Say Goodbye to Dell Driver Management - Use Dell Command Update in OSD

    • July 21, 2016 at 10:10 am
      Permalink

      Hey Dave, I haven't tried using it with an onsite FTP / FileShare yet, I'll Email you to continue the conversation.

      Reply
  • November 15, 2016 at 4:52 pm
    Permalink

    Awesome stuff! Thank you for putting this blog together.
    This worked for me on my first attempt with a Dell Optiplex 7040 (mff) using version 2.2 of the Dell Command Update.

    Reply
  • December 6, 2016 at 2:02 pm
    Permalink

    that's gold, thanks a lot. After a few month do you still use this? (I'm concerned about all the "crap" that come with the standard drivers package.)
    Do you have your own repo or take the drivers directly from dell each time? Does it take much longer than using driver package or family cab from Dell?

    Also do you leave the dell command update installed after OSD, and use it during the life cycle of the computer? I'm thinking about just launching the dcu-clie.exe from the package source without installing, any thought on that?

    Reply
    • December 6, 2016 at 3:53 pm
      Permalink

      Still using this, it's been working well. We actually download directly from dell, we have a huge internet pipe, and only image 10-20 computers a day, so it's not an issue. It does take a little while to run, and probably longer than a normal apply driver step. The "bloat" has been a concern, I run a step later to uninstall the intel wireless proset software if it got installed.
      I do leave it installed after OSD, our service desk will run it from time to time if they think an issue my be driver related. I do lock it down so it can only install certain drivers though.
      I think the idea of running the command line from a package source is a good idea, I might give that a try in the future.

      Reply
  • May 27, 2017 at 6:51 pm
    Permalink

    I want to do the BIOS but I'm concerned if MDT will resume the task sequence, because task sequences tend to break when an application automatically reboots the computer.

    Reply
    • June 5, 2017 at 12:05 pm
      Permalink

      For Dell, HP, and Lenovo, there is a no reboot option you use in the command line. In the TS, you trigger the reboot after upgrade by using the built in reboot step.

      Reply
  • June 8, 2017 at 7:59 am
    Permalink

    We're still imaging with Windows 7 where I currently work, but going to Windows 10 soon. However, I've got all steps right, but on the "Run Dell Command Update" step, it will run, but after a while it gives the error 0x00000001. I can close that and it goes in to Windows once I put my credentials in, but then I am prompted to do a restart. I restart and unit comes back up. What am I missing to get this error message?

    Reply
    • June 8, 2017 at 8:03 am
      Permalink

      What Model are you testing on? How long is "awhile", perhaps it's timing out connecting to the internet? I'd start troubleshooting by importing a filter with a very few driver options, like just chipset and video, or something, and try again to see if that goes. Does Command Update work normal after OSD finishes on that Machine? You could disable Command Update in OSD, then run it after to see if it gives any errors if you run it manually through the GUI in Windows.

      Reply
      • June 9, 2017 at 10:16 am
        Permalink

        So doing some troubleshooting it was giving error on the docking station firmware. The only thing we will need are bios and drivers, and nothing else. I made the changes, but still getting the same error message. Found out it is failing on installing the wifi driver and deleting the Intel Graphics shortcut. Yet everything installs. This is on a Dell Latitude E5470 which is now EOL. I haven't tried on a Latitude E6440, but will test Windows 10 for that one. We are using the MDT integration in to SCCM 2012 R2 SP1 CU5. Where should I be placing the Dell Command Update tasks? It could be having the issue that it's not installing all this in the resident OS, that I have selected. It looks to be installing everything in the PE environment after the SCCM Client is installed. Also, I noticed from the activity.xml log that it considers 3010 an error code vs a success code and that could be causing the issue. The other 2 error codes are 0x2 and 0x3. My only option I can see in the Task Sequence would be to check "continue on error", but that may stop any drivers from giving an error before it completes everything from Dell Command. Also, we are not the Dell Command Update software to stay installed after it runs. What is the command to uninstall it after all drivers are installed?

        Reply
        • June 9, 2017 at 11:28 am
          Permalink

          Are you having issues with the E5470 on Windows 10? I have not tested Windows 7 on that. I have the Command Update Steps near the end of the TS, but basically anytime after it reboots into the OS should be fine. The Installer is an MSI, so you should just be able to use the MSI Code to remove it 2.3.0 = {EC542D5D-B608-4145-A8F7-749C02BE6D94}. Msiexec -x {EC542D5D-B608-4145-A8F7-749C02BE6D94} /qn or similar.

          I've got my step set to continue on error. Sorry, no better advice for you there. Consider opening a support Case with Dell, especially about the docking station firmware issue. They are good about getting back to you on these things. If not, hit up Warren on Twitter.

          Reply
          • June 9, 2017 at 2:17 pm
            Permalink

            Thank you for the tip on checking "continue on error". That corrected the issue and worked flawlessly. I was even able to uninstall the Dell Command tool too. I also verified that everything installed correctly. I've been fighting for a way to get the drivers updated for the team and this is by far the best that I've seen. I also moved the placement of the Dell Command in my Task Sequence. Thank you for the guide you have created on here.

  • June 19, 2017 at 11:40 am
    Permalink

    I've followed this guide at every step. I'm running the Dell Command at the end of the MDT/SCCM Task Sequence, but it's not updating the drivers. You can see if you open up Dell Command Update in Windows it show's it has never check or even updated. What ports does it use when reaching out to the Dell Support site? It could be that our Security Team is blocking it from communicating out to the site. However, I can run it and it shows that it had driver updates. What am I missing in the TS. This is during an install for Windows 10. Thanks.

    Reply
    • June 19, 2017 at 2:17 pm
      Permalink

      That's accurate, it will not display the Last Check time in the Command Update when you run it from OSD due to different profiles... However, if you set a place for the Logs during OSD, you can check there. After OSD, in my "InstallLogs" folder, i have the ActivityLog & inventory log. when you run it in OSD, as long as you set the /LOG c:\.... then you will have the logs, that should help you troubleshoot.

      Reply
  • July 19, 2017 at 11:59 am
    Permalink

    Hi Gary,

    This post is great and thank you so much...one QQ, The schedule update , will it run or prompt for updates after a Month ? or just during the OSD

    Reply
    • August 2, 2017 at 9:00 am
      Permalink

      I thought it was set to just run, but I didn't get around to testing that functionality before I left my last job. I had always disabled the auto update feature, planning to circle back and test... but that wont' be happening now. Hopefully I'll get a few Latitudes at home eventually and can continue to test.

      Reply
  • September 27, 2017 at 12:55 pm
    Permalink

    Thanks for posting Gary. I'm working with version 2.3.1. When I run the installation of DCU manually from an administrative command prompt, it installs fine. That was my initial test. Upon adding it into MDT(not sccm), using this install command with the raw update package:

    Dell-Command-Update_X79N4_WIN_2.3.1_A00.EXE /s /f

    spit out a reboot code and failed. Nothing ever installed. I didn't quite understand what was going on. I then extracted by running the exe manually and choosing the "Extract" option. Then I tried running the setup within and found it was extracting an MSI into a C:\Windows\ location. I grabbed the MSI, used the /qn /norestart swtiches and was able to get around this 2 hours later. I hope this saves some time for anyone with MDT running into the same issue. It was puzzling. I hate wrappers!

    -LvilleSystemsJockey

    Reply
    • October 2, 2017 at 7:50 am
      Permalink

      I have tried this with the old 2.1.1 and the new 2.3.1 version and I get the same result.

      When I follow the steps above and run from a task sequence, the application gets installed fine and the "dcu-cli.exe" /log c:\temp /silent" cmd runs and creates the log file but fails in the ActivityLog with CLI: Error: Check for updates ended. (System Scan failed).

      If I run this manually in a cmd prompt with my account or the local system account (the one that sccm uses) all works fine and drivers start to download. Any ideas?

      Reply
      • November 8, 2017 at 8:07 am
        Permalink

        ditto - i also have this problem. no idea what causes it or how to fix it

        Reply

Leave a Reply

Your email address will not be published. Required fields are marked *