Software-First Installation
A software-first installation involves copying a driver package to the Driver Store ("staging") and preinstallation of your driver package on the system before the hardware device is plugged in. After the device is plugged in, the driver from the driver package is installed.
If the user inserts your distribution medium before plugging in the device, an AutoRun-enabled installation application can:
Check for in-progress installations, and stop executing if other installation activities are in progress.
Use Microsoft Installer to install device-specific applications.
If the device is "hot-pluggable," tell the user to plug it in.
If the bus does not provide hot-plug notification, initiate reenumeration by calling CM_Reenumerate_DevNode.
If the device is not hot-pluggable, tell the user to turn the system off, plug in the device, and turn the system back on.