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 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.