The Big Picture: Picking the Right Tool from Several Toolboxes
A new device has appeared in the tree and it has handed over its name tags (Section 3). Now the PnP manager must pick a driver. Think of a plumber who arrives at a house with a broken tap. First the plumber looks in the van (the tools already on hand). If the right part is not there, the plumber orders it from the supplier. Once several parts fit, the plumber picks the best one.
Windows does the same in three steps:
1. Look in the DRIVER STORE (the van: drivers already on this PC)
2. Look at WINDOWS UPDATE (the supplier: drivers online)
3. RANK the matches, pick best (choose the best part)
This section follows those steps. In Chapter 13 you learned what a driver is and what an INF file is. Here you see how Windows chooses between them.
The exact order of the steps and the settings behind them can differ between Windows 10 and 11, between a fresh install and a plug-in later, and between PCs managed by a company and home PCs. Treat the order below as the usual picture, not a strict script.
4.1 Searching the Driver Store
What it is: The Driver Store is a protected folder where Windows keeps copies of every driver package it knows about. It lives in C:\Windows\System32\DriverStore\FileRepository. Each package gets its own sub-folder, usually named after its INF file plus a long code.
Why a store? Without it, a driver would have to be found again every time. With the store, Windows can reinstall, repair or roll back a driver without any disc or download.
The store holds:
| What | Where it comes from |
|---|---|
| Drivers that ship inside Windows | Windows setup |
| Drivers the PC maker added | The maker's image or setup |
Drivers you installed with a setup program or with pnputil | You or an installer |
| Drivers downloaded earlier from Windows Update | Windows Update |
What happens during the search:
Device reports its Hardware IDs and Compatible IDs
│
▼
PnP manager reads the INF files of all packages in the Driver Store
│
▼
For each INF, does any ID in it match any ID the device reported?
│
├── Yes ─► add to the list of CANDIDATES (with a rank)
└── No ─► skip
You can list what is in the store from a Command Prompt (run it as administrator):
pnputil /enum-drivers
Each entry shows a Published Name (such as oem42.inf), the Original Name, the Provider, the Class, the Driver Version and Date, and the Signer Name. Names that start with oem and a number are drivers added beyond those that came with Windows. This is a read-only listing, so it is safe to run.
Driver packages and signatures. A driver package is the INF file, the driver file(s) (.sys), and a catalog file (.cat). The catalog carries a digital signature: a seal that proves who published the driver and that it was not changed afterward. Windows prefers signed drivers and on 64-bit Windows it generally requires them (Section 7, Code 52).
4.2 Searching Windows Update
What it is: If the Driver Store does not hold a good enough match, or if you ask for it, Windows can look online. Windows Update is the Microsoft service that also provides drivers from device makers. The maker uploads a driver, Microsoft checks and signs it, and it becomes available to PCs.
When can this happen?
| Situation | What Windows does |
|---|---|
| A new device is plugged in | Windows may check Windows Update if it has no good driver locally and the PC is online (depends on settings) |
| You choose Update driver → Search automatically for drivers | Windows checks the local store and online sources it can use |
| Normal Windows Update run | Newer drivers can arrive along with other updates |
On Windows 10 and 11 you may see drivers listed under Settings → Windows Update → Advanced options → Optional updates → Driver updates. These are drivers that Windows found but did not install automatically. The menu wording may differ on your version.
Important: A newer driver on Windows Update is not always better than the one your PC maker gave you. Laptop makers often test one exact driver for their model. Many support teams suggest the maker's own driver first.
Settings that control this. Windows has a policy and a setting that decide whether drivers are included in Windows Update. Some company PCs switch this off, so devices there get drivers only from the Driver Store or from the IT department.
Windows also checks if the device is already known. After you have used a device once, its driver stays in the store. So the second time, the match is found locally and no download is needed.
4.3 Best Match Ranking Algorithm
What it is: The steps above give a list of candidate drivers. The PnP manager now has to choose one. It does this by scoring each candidate and picking the best.
The main factors (roughly in the order they matter):
| Factor | Better is... | Why |
|---|---|---|
| 1. How the IDs matched | Hardware ID beats compatible ID; earlier in the list beats later | An exact match is more likely to be correct (Section 3.3) |
| 2. Digital signature | A valid signature from a trusted publisher beats unsigned | Safety and stability |
| 3. Date | A newer driver date beats an older one | Newer usually has fixes |
| 4. Version | A higher version beats a lower one | Same reason |
Microsoft describes this ranking as: first compare the rank (the ID-match score). Where two have the same rank, the signed driver wins. If they are still tied, the newer date wins, and then the higher version. The fine details of how much each factor counts can differ, so keep the idea, not the exact numbers.
A simple picture:
Candidate A: Hardware ID match, signed by device maker, 2023, v5.1
Candidate B: Hardware ID match, signed by device maker, 2021, v4.9
Candidate C: Compatible ID match, signed by Microsoft, 2024, v10.0
Winner: A
- A and B match by hardware ID, so they both beat C
(even though C is newer).
- A beats B because its date and version are newer.
Why can a newer driver sometimes lose? Because "how well the ID matched" is checked first. A brand-new generic driver (compatible ID) will not replace an older maker driver (hardware ID), as the exact match wins. That is also why Windows does not replace your maker's driver with a generic one by accident.
Manual choice. You can override the choice. In Device Manager choose Update driver → Browse my computer for drivers → Let me pick from a list of available drivers on my computer. Windows then shows all the compatible drivers it knows about, and you pick one. With Have Disk... you can point at an INF file you downloaded.
Ranking is only done when a choice is needed. If a device already has a working driver, Windows normally leaves it alone until you ask for an update (Section 5) or Windows Update delivers a better one.
A word on "the best driver is already installed". If Device Manager says "The best drivers for your device are already installed," it only means that Windows did not find a better-ranked driver. It does not mean the maker has no newer one on their own website. Check the maker's site if you need the latest.
4.4 The Whole Picture, End to End
New device found by a bus driver
│
▼
Read device's Hardware IDs + Compatible IDs
│
▼
Search Driver Store ───────► candidates
│
(if needed / allowed)
▼
Search Windows Update ─────► more candidates
│
▼
Rank: ID match > signature > date > version
│
▼
Copy the winner into the Driver Store (if not there),
write it into the device's settings, and START it
│
▼
Device shows in Device Manager. Error? See Section 7.
If no driver is found, the device shows as Unknown device or with a yellow triangle and an error such as Code 28 ("drivers are not installed").
Summary
| Term | Plain meaning |
|---|---|
| Driver Store | Protected folder holding copies of driver packages on this PC |
| Driver package | INF file + driver file(s) + signed catalog |
pnputil /enum-drivers | Lists the packages in the store |
| Windows Update (drivers) | Online source of maker-supplied drivers |
| Candidate | A driver whose IDs match the device |
| Ranking | ID match first, then signature, then date, then version |
| Let me pick from a list | Manual way to override Windows' choice |
| "Best drivers already installed" | Windows found nothing better-ranked; the maker's site may still have newer |