first and foremost it means what the programmer who wrote the installer meant and made it to be
now, when it comes to drivers, this is another story.
usually your driver is a combo of .inf and .sys (once you get rid of all the installer usability candy)
windows puts the .inf somewhere in \WINNT\ (or \WINDOWS\, depending on your windows version) and the .sys into \WINNT\system32\drivers\
besides those windows tends to hold old versions of the driver under different file names in other places (yes, it's kinda vague like that)
what your windows device manager does on top of that, is report the version number it finds in the .inf file (just a text file) and not necessarily the version number of the driver itself (right click on the .sys file, properties, version-tab)
now just imagine this scenario i found myself in at work just recently:
we're using a 3rd party USB device with a specialized driver and firmware made for us by said 3rd party.
as it always goes, it's not perfect, so there will be new driver versions.
windows is also kinda stupid when it comes to plugging the same usb device into different usb ports (yes, even if the usb-serial is properly implemented in the device).
so windows thinks (even so it's the same device) that each time you use a different port, it's a different device.
each time installing or requesting the driver.
you can 'update driver' from the device manager. ok. does not always work.
i even went so far as to delete the .sys file from \winnt\system32\drivers\ only to find a very old version of the driver
suddenly appearing out of thin air the next time i plugged the device in.
here's the (kind of work intensive but successful) way to get rid of a driver:
- plug device in
- right-click / properties on the device @ device manager
- remove driver (or uninstall, not sure what's it called)
- unplugg device
- delete .sys file for the driver from \winnt\system32\drivers\ (and if you can find them, all .inf files)
- restart pc
- plug in device
- install new driver when asked