Menu
CCMEXEC.COM – Enterprise Mobility
  • Home
  • General
  • Configuration Manager
  • Windows 10
  • Intune
  • GitHub
  • Windows 11
  • About the author
CCMEXEC.COM – Enterprise Mobility

Update a device driver Configuration Manager 2012

Posted on October 31, 2013 by Jörgen Nilsson

Updating device drivers in a task that will have to be done from time to time to solve problems with drivers or software related to the device used. There are two kinds of device drivers, the ones that you need to run setup.exe and run a complete installation as there are supporting software needed as well. For these drivers running the setup silently will work as an upgrade as well.

Then we have the kind that is only delivered as an .inf, .cat and .sys files like for instance network drivers. In this example I will demonstrate how to update a wireless nic driver using an application, it is a really simple task. I prefer to use PNPutil as it is already present on modern operating systems.

Here is a step-by-step guide on how to update a driver, I will update an Atheros driver.

  1. Start by downloading the updated driver and extract it to a folder that can be used as a content source for the application. This folder actually includes the 64 bit driver as well.
    Upgrade driver1
  2. In that same folder create an update.cmd file that contains the following syntax:
    pnputil.exe -i -a %~dp0netathr.inf
  3. Create a new application using the manual option as the screenshots below describes.
    Upgrade driver2
  4. The Driver version can be found in the .inf file.
    Upgrade driver3
  5. We will not use the application catalog for this application.
  6. Upgrade driver4Select the Script installer type
  7. Upgrade driver6We name the deployment type x86 as we perhaps want do deploy a x64 driver as well.Upgrade driver7
  8. Select the folder created earlier as the package source and enter Update.cmd as the installation command.
  9. Upgrade driver8 Under Detection method select Add ClauseUpgrade driver9
  10. Select File System and Type: File and browse to a computer with the driver already installed by selecting Browse
    Upgrade driver10
  11. Browse to C:\Windows\System32\Drivers and select the. sys file that will be upgraded

Upgrade driver11

12. Select that the file must match Version and then the version of the old driver is already filled in, just change it to the version of the new driver which you can find by selecting properties on the new .sys file.

Upgrade driver12

14. In our case we change it to version 10.0.0.255

Upgrade driver13

15. Then select Next
Upgrade driver14

16. Select that it should Install for System as displayed below. Upgrade driver15

17. As a requirement add the Operating System the driver is for, in this case All Windows 7 32-bit
Upgrade driver16

18. Then select Next until the wizard is finished

Then it is time to deploy the updated driver, note that a NIC driver update will disconnect the computer for a couple of seconds. I normally prefer to deploy driver update as hidden so the user doesn’t actually see anything but with a driver update that could be tricky. If we look at the client the driver version is as shown below.

upgrade client1

Then we let the installation run and the driver will be updated.

upgrade client2

And if we check the driver version after that it is updated.

upgrade client3It is a really simple way of updating a driver the detection method is really easy to configure as well and is correct the first time, so it takes 5 minutes perhaps to do. It probably take longer time to find the updated driver on the vendors website.

Happy Upgrading!



16 thoughts on “Update a device driver Configuration Manager 2012”

  1. Jayson says:
    January 26, 2015 at 11:21 pm

    You freaking rock! No idea how you figured this out but I just updated a bunch of sharp printers with it. It worked perfect.

    Reply
  2. Ntxawg Mekah says:
    March 8, 2016 at 4:27 pm

    Very Awesome! Thanks

    Reply
  3. Joe says:
    April 4, 2016 at 9:24 pm

    Great stuff. However, although it works for me, the advertisements are never marked as being successful. Deployment status always shows as ‘In Progress’.

    Reply
  4. MChristie says:
    November 16, 2016 at 11:11 pm

    Thank you for this great article, it saved us hours of time. Had to deploy it to over 1800 computers that needed a driver update.

    Reply
  5. Anders says:
    January 25, 2017 at 9:12 am

    Is this the preferred way in Windows 10 and SCCM 16xx? Years ago we updated drivers when we really needed to, now we update drivers monthly so the method has to be smooth and streamlined.

    Reply
    1. Jörgen Nilsson says:
      February 10, 2017 at 2:32 pm

      Hi,
      Either that or use a script that runs DPinst, there is really no smoother way 🙁
      /Jörgen

      Reply
  6. Eric Bonham says:
    March 31, 2017 at 8:10 pm

    Is there a way to create an .exe that will create the printer also? I have a customer that wants to use SCCM to allow for a printer installation – they do not want to use GPO or login scripts. Ideas?
    /Eric

    Reply
  7. AJP says:
    November 10, 2017 at 5:11 pm

    Great stuff. Many thanks!!!

    A quick way to check the driver version of a wireless lan is by running the below command in a dos prompt:

    Netsh wlan show drivers

    Reply
  8. keywan says:
    December 5, 2018 at 7:33 pm

    Hi Jörgen,

    I want to deploy network driver Intel 1219. What is mean with
    pnputil.exe -i -a %~dp0netathr.inf
    I have download the driver and it has many files of .inf and .sys
    e1c63x64.inf and e1q63x64.inf

    How can be my command for nic driver?

    Thanks

    Reply
  9. Pingback: [Windows 10] Extracting Microsoft drivers from Windows OS – ConfigMonkey.co.uk
  10. AP says:
    February 27, 2019 at 2:42 am

    Thanks Jörgen. When I’m trying this it will install the driver successfully but the driver location will be set to C:\Windows\System32\DriverStore\FileRepository\ rather than C:\Windows\System32\Drivers which screws up the detection method, even when adding the different driver path

    Reply
  11. bat787 says:
    June 2, 2019 at 12:49 am

    %~dp0 means the path where the script was run from.
    in your case, use %~dp0e1c63x64.inf

    Reply
  12. MarcH says:
    September 5, 2019 at 2:44 pm

    Great post, but I’m also finding the same issue as AP .
    I have a driver in C:\Windows\System32\Drivers on a Windows 10 x64 client, that I would like to update. I deploy the application and it installs but the driver is placed in C:\Windows\System32\DriverStore\FileRepository\somelongfoldername\ and the old driver remains untouched, in System32\Drivers. It needs to be updated because it blocks 1903 win 10 update.
    How can I update the driver specifically in System32\Drivers directory?

    Reply
  13. Lee Millward says:
    March 29, 2021 at 10:00 pm

    Same issue as above it is adding the driver into the wrong file location and not touching the original drivers.

    Reply
  14. Chuong says:
    November 15, 2022 at 10:30 pm

    Thank you. It works for us. But like same as Joe said, mine doesn’t mark as successful. It also stays at “In Progress”. Maybe Joe and I missed something.

    Reply
  15. Jon says:
    February 16, 2023 at 1:18 am

    this is a better way to do it.
    make the update script this:

    start /b /d “%WINDIR%\system32\” pnputil.exe /add-driver “%~dp0*.inf” /install

    exit

    Reply

Leave a Reply Cancel reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

My name is Jörgen Nilsson and I work as a Senior Consultant at Onevinn in Malmö, Sweden. This is my blog where I will share tips and stuff for my own and everyone elses use on Enterprise Mobility and Windows related topics.
All code is provided "AS-IS" with no warranties.

Tweets by ccmexec

Recent Posts

  • Windows Servicing, Personal Teams and Success.cmd
  • Windows MDM Security Baseline – Settings Catalog
  • Configuring MS Edge Security Baseline v107 using Settings Catalog
  • Configuring Desktop App Installer using CSP and script?!
  • Customizing Taskbar and Start in Windows 11 22h2 with PowerShell

©2023 CCMEXEC.COM – Enterprise Mobility | WordPress Theme by Superb Themes
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.Accept Reject Read More
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT