VendorInstaller

VendorInstaller = filename, function-name

Names a vendor-provided Win32 DLL that performs the entire printer installation process, and the exported entry-point to call in that DLL. Can only be used for Plug and Play devices.

filename

Name of the vendor-supplied installer DLL.

function-name

Name of the function exported by the DLL to call to begin the vendor-supplied printer installation process.


Use of a VendorInstaller statement in the Install section or a Data section it refers to indicates that the printer vendor has a custom printer installation process to be used instead of the normal installation process. Note that a custom printer installation process is only supported for Plug and Play printers, that is, printers that generate a device ID value. The normal installation process must be able to match the generated device ID with a device ID in the INF file before the normal installation process will call the entry-point exported by the vendor-supplied installer DLL.

The vendor-supplied DLL must be a Win32 DLL and the function identified by function-name must have the following prototype:


VOID FAR PASCAL functionname (HWND      hWnd,
                              HINSTANCE hInstance,
                              LPSTR     lpszCmdLine,
                              int       nCmdShow
                             );

When the normal installation process calls the exported function, lpszCmdLine points to the registry key, relative to HKEY_LOCAL_MACHINE, that has been created by Windows 95 Plug and Play and which contains information about the printer to be installed by the vendor-supplied DLL. The DLL is then responsible for carrying out all aspects of printer installation, except copying files that are specified in INF file sections named in the Install section CopyFiles statement -- the normal installation process carries out the CopyFiles directive before the DLL is called.

In general, the vendor-supplied DLL should add a registry value under the passed-in key named ConfigFlags and set its value to 0 (a DWORD of type REG_BINARY). Then the DLL should call the Win32 print subsystem APIs AddPrinter, AddPrinterDriver, etc. as needed.

If a VendorInstaller statement is used in the Install section (or a Data section it refers to), then Windows 95 will not prompt the user with the opportunity to print a test page at the end of the printer installation.