Marking a Device as having a Finish-Install Action to Perform
An installer (a class installer, class co-installer, or device co-installer) indicates to Windows that it has finish-install actions to perform by setting the DI_FLAGSEX_FINISHINSTALL_ACTION flag when the installer processes a DIF_NEWDEVICEWIZARD_FINISHINSTALL request. This action will cause Windows to flag the device as needing to perform a finish install action. The steps are as follows:
When an installer receives a DIF_NEWDEVICEWIZARD_FINISHINSTALL request, the installer sets the DI_FLAGSEX_FINISHINSTALL_ACTION flag if it has finish-install actions to perform.
The installer can optionally add any finish-install wizard pages for the device, such as pages that notify the user about the actions to perform or prompt the user for confirmation before performing the actions.
The installer then returns one of the following error codes:
- ERROR_DI_DO_DEFAULT if the installer is a class installer that has no finish-install wizard pages.
- NO_ERROR if the installer is a class installer that has finish-install wizard pages or a co-installer that either has or does not have finish-install wizard pages.
If the DI_FLAGSEX_FINISHINSTALL_ACTION flag is set for a device after all installers have processed the DIF_NEWDEVICEWIZARD_FINISHINSTALL request for the device, Windows flags the device as needing to perform a finish install action.