A computer-implemented method for managing device drivers comprising: requesting, by a computing device, one or more drivers for one or more devices connectable to the computing device, comprising: compiling a list of device drivers stored on the computing device, wherein the list includes at least a first device driver for a disconnected device and a second device driver for a second device, wherein the list of device drivers further includes first driver version information and second device driver version information; and creating a system specification that includes at least the list of stored device drivers and an identification of a targeted device, wherein the targeted device has not previously been connected to the computing device; sending the system specification to an update service; receiving, from the update service, a device driver update set based on the system specification, wherein at least one driver in the update set is the first driver for the disconnected device, wherein the disconnected device is a device that is disconnected from the computing device at the time of the request; installing, by the computing device, the first device driver for the disconnected device and a third device driver for the targeted device on the computing device; and performing, by the computing device, operations to activate the first device driver for use for the disconnected device when the disconnected device is detected by the computing device. requesting, by a computing device, one or more drivers for one or more devices connectable to the computing device, comprising: compiling a list of device drivers stored on the computing device, wherein the list includes at least a first device driver for a disconnected device and a second device driver for a second device, wherein the list of device drivers further includes first driver version information and second device driver version information; and creating a system specification that includes at least the list of stored device drivers and an identification of a targeted device, wherein the targeted device has not previously been connected to the computing device; sending the system specification to an update service; compiling a list of device drivers stored on the computing device, wherein the list includes at least a first device driver for a disconnected device and a second device driver for a second device, wherein the list of device drivers further includes first driver version information and second device driver version information; and creating a system specification that includes at least the list of stored device drivers and an identification of a targeted device, wherein the targeted device has not previously been connected to the computing device; sending the system specification to an update service; receiving, from the update service, a device driver update set based on the system specification, wherein at least one driver in the update set is the first driver for the disconnected device, wherein the disconnected device is a device that is disconnected from the computing device at the time of the request; installing, by the computing device, the first device driver for the disconnected device and a third device driver for the targeted device on the computing device; and performing, by the computing device, operations to activate the first device driver for use for the disconnected device when the disconnected device is detected by the computing device.