A co-installer is a user-mode Win32 DLL that typically writes additional configuration information to the registry, or performs other installation tasks that require information that is not available when an INF is written.
A co-installer might do some or all of the following:
Perform operations before the associated class or device installer is called, after the class or device installer is called, or both, as described in Co-installer Operation.
Provide finish-install wizard pages (in response to a DIF_NEWDEVICEWIZARD_FINISHINSTALL request) to obtain device parameters that are required so the device can operate, or to ask if device-specific applications should be installed.
Provide device property pages, which are displayed by Device Manager so users can modify device parameters.
When called for postprocessing, a co-installer must check the InstallResult member of the COINSTALLER_CONTEXT_DATA structure. If its value is not NO_ERROR, the co-installer must do any necessary clean up operations and return an appropriate value for InstallResult.
Co-installers can sometimes obtain information from the user. Such information might include additional device parameters (such as a modem's dialing properties), or whether the user wants device-specific applications installed. Co-installers can create user interfaces by providing "finish install" pages and device property pages. No other form of user interface is allowed. Windows displays "finish install" pages at the end of the installation (within the Found New Hardware, Hardware Update, or Add Hardware Wizard, which require administrator privilege). Device Manager displays property pages, and allows users with administrator privilege to modify parameters displayed on these pages.
Build date: 5/16/2013