Installing a driver from an INF file or a CAB package
DeviceInBox editorial team · Last updated October 6, 2026
Most driver packages come with an installer, but plenty do not. Packages from the Microsoft Update Catalog are .cab archives, OEM downloads are often plain folders with .inf, .sys and .cat files, and a stripped-down package may be all that exists for an older chip. Windows installs those directly, and knowing how saves you from installer utilities that bundle other software.
Unpack the package first
A .cab file has to be unpacked before anything can use it. From a Command Prompt:
expand -F:* C:\Users\You\Downloads\package.cab C:\drv
A .zip file unpacks with Explorer. An .exe from a laptop maker is usually a self-extracting archive: run it, let it copy its files, and look in C:\SWSetup, C:\Dell, C:\Program Files\... or your temp folder. Whatever the route, you need a folder that contains at least one .inf file.
Install through Device Manager
This is the method to use when one specific device needs the driver.
- Right-click the device in Device Manager and choose Update driver.
- Pick "Browse my computer for drivers".
- Select the unpacked folder, tick "Include subfolders", and click Next.
- If Windows says the best driver is already installed, go back and choose "Let me pick from a list of available drivers", then Have Disk, and point it at the .inf file itself.
Install with pnputil
pnputil ships with Windows and adds a package to the driver store, which is what every installer does underneath. Open Command Prompt or PowerShell as administrator:
pnputil /add-driver C:\drv\*.inf /subdirs /install
It prints each INF it processed, the published name it assigned, and whether it installed the driver on a matching device. The published name, something like oem42.inf, is how you refer to the package later.
Useful commands around it:
pnputil /enum-driverslists every third-party package in the store.pnputil /delete-driver oem42.inf /uninstall /forceremoves one and takes it off the devices using it.pnputil /scan-devicesmakes Windows look again at devices without drivers.
Picking the right INF when there are several
A package often holds one INF per architecture or per Windows version, for example netrtwlane.inf, netrtwlane13.inf and so on. Pointing Windows at the folder with subfolders enabled is enough: it reads the INFs, keeps the ones that list your hardware ID and that fit the Windows version, and ignores the rest.
Open an INF in Notepad if you want to check by hand. The [Manufacturer] section names the model sections, and the model lines carry the hardware IDs:
%RTL8168.DeviceDesc% = RTL8168.ndi, PCI\VEN_10EC&DEV_8168&REV_15
If your ID is not in any INF in the package, the package is for a different chip, no matter what its name says. Compare the ID (how to read it) with the supported IDs listed on the driver page here before downloading.
When the install is refused
- "The third-party INF does not contain digital signature information": the package is unsigned or its .cat file is missing. See Code 52.
- "The driver is not intended for this platform": wrong architecture, 32-bit against 64-bit Windows or x64 against ARM64.
- The install works but the device then shows Code 10: the INF accepted the ID, but the driver does not actually run that chip revision. Look for a newer package.
- Nothing happens at all: check that you opened the prompt as administrator, and that the folder path has no quotes missing around spaces.
Related: Code 28, Code 39 and finding a hardware ID.
More guides
- Find your hardware ID
- Unknown USB Device (Device Descriptor Request Failed)
- Code 43: device reported problems
- Code 10: this device cannot start
- SM Bus Controller driver
- PCI Simple Communications Controller
- PCI Data Acquisition and Signal Processing Controller
- Base System Device driver
- PCI Device driver missing
- Ethernet Controller driver missing
- Network Controller driver missing
- Unknown device in Device Manager
- Code 28: drivers are not installed
- Code 31: Windows cannot load the drivers
- Code 39: driver corrupted or missing
- Code 52: digital signature problem
- USB device not recognized
- Wi-Fi gone after a Windows update
- Bluetooth missing from Windows
- SD card reader not working