When I set up Windows 10 on a new PC I downloaded only the latest NVIDIA driver for the video card but did not have to install any driver apart from that as everything was working fine out of the box.
That has not always been the case and still is not if you connect hardware to a PC running Windows that is either very old or uncommon.
Snappy Driver Installer is a free program for Windows that is a complete solution when it comes to drivers on Windows.
The program supports two main sources for drivers: local folders and driver packs. If you put drivers into a folder it will pick it up automatically and use it if you want it to.
That's excellent for computer systems without permanent Internet or unreliable Internet connections as you can install all drivers on those systems without it.
The first thing you want to do is change the them as it is all over the place. The best theme in terms of readability is Metallic_new in my opinion.
Once that is out of the way, click on the updates option near the top and download the index file by clicking on "check only needed for this PC" and then on accept.
The index adds all relevant information to the program which it uses to check for missing drivers and updates for installed drivers on the system.
You can download all driver packs if you like but it is generally not recommended unless you want to create a fully portable version of the program that includes all drivers by default. Note though that you have to download almost 9 Gigabyte of data in this case.
Once you have downloaded either, the main page of the application is updated with driver update information.
Enable expert mode on the left and use filters to customize the selection. You may want to disable "better match" for instance as the program may suggest drivers that are older than the ones installed if it believes they are better.
Before you select drivers that you want updated, hover the mouse over each device as you will receive information about the current driver and driver update this way.
This includes important information such as the current driver version and the new driver version, the name and manufacturer of the device, and hardware IDs.
It is essential that you check these information to avoid installing drivers that were falsely identified for the device.
The source of the driver update is listed for each driver. If you did download the index only the source is Internet for all of them unless you have added drivers to the local folder of the program.
Select none, one, some or all devices afterwards and the "create a restore point" to install the driver updates.
Once you are done click on the install button. Snappy Driver Installer will download the required drivers from the Internet before installation.
You have to trust the program when it comes to driver downloads from the Internet. It lists no source for the drivers and it may be better to supply your own drivers if you don't trust it in this regard or don't want to risk anything.
All drivers are installed silently in the background after the missing ones have been downloaded.
The program supports a wide variety of command line arguments which makes it easily integrable in scripts. You can run it without graphical user interface for instance, get detailed information about its activities, or have it download updates automatically once they become available.
Many driver-related programs produce false positives on systems you run them on. That's one of the biggest issues with these kind of programs, especially if they don't provide enough information to compare the installed to the updated driver before the operation.
Snappy Driver Installer is an excellent program that puts you in full control of the process. If you want, you use it by supplying your own driver files and installers to fully control it. The Internet checking and download if drivers works very well on the other hand and I did not notice any issues with the drivers it suggested.
Lastly, the creation of a system restore point ensures that you can restore previous drivers should the need arise.