Install function (Installer DLL)

Installer DLL     See also    


Installs the driver and helper DLLs into the system


    BOOL __stdcall InstallA( const char* CabFileName, const char* ProductName, const char * PathToInstall, bool SupportPnP, DWORD ModulesToInstall, DWORD *RebootNeeded);
    BOOL __stdcall InstallW( const unsigned short* CabFileName, const unsigned short* ProductName, const unsigned short * PathToInstall, bool SupportPnP, DWORD ModulesToInstall, DWORD *RebootNeeded);


  • CabFileName - Path to .cab file, which was used to install the driver and helper DLLs.
  • ProductName - the ProductName string that identifies installation of the driver by your application
  • PathToInstall - Path to which the driver and helper DLLs should be installed. Leave it empty to install to Windows system folders.
  • SupportPnP - specifies the method of driver installation - for futher support for PnP storages (set parameter to true) or "old-styled" (set parameter to false)
  • ModulesToInstall - this parameter specifies, which modules (driver, helper DLLs) must be installed. Flags (listed below) indicate which modules need to be installed.
  • RebootNeeded - On return this parameter specifies if system restart is necessary for deinstallation to be successful. Flags (listed below) tell the application, which modules requested system restart.

Return values

TRUE / true if the function succeeded or FALSE / false if the function failed.

Values of ModulesToInstall and RebootNeeded


Use this function to install the driver and helper DLLs to the system. ProductName is used to distinguish between installations of the package made by different applications and to prevent the situation when the package is installed by two applications and further deinstallation of one of them removes the package.

Use ModulesToInstall parameter to specify, what exactly modules (eg. the driver, Notifier DLL, Network Redirector DLL) must be installed to the system.

The CAB file must be kept on the target system OR it must be available from elsewhere. It is needed to uninstall the drivers and Helper DLLs from the system.

SupportPnP parameter specifies if the PnP driver is installed. PnP driver is used to create storages of type PnP. Such storages are visible as a disk device in device manager, and also the system treats such storages differently for pure virtual devices. If you need to change the mode from old-styled to PnP, you will need to re-install the drivers.

NOTE: you must NOT uninstall the driver and helper DLLs, if you upgrade the installation. In other words, use only Install method to refresh the driver and helper DLLs on the target system.

Read more about installing and uninstalling the drivers.

See also

GetModuleStatus     Uninstall     UninstallEx