DIFxAPI Errors (InstallScript Projects)

InstallShield 2016

This table lists DIFxAPI errors that can be returned calling DIFx driver functions. If the return value from a DIFx driver function is a Win32 error (a positive return value), ISERR_WIN_BASE is added to the error so that it is less than ISERR_SUCCESS. For the most updated documentation on Win32 errors, see the MSDN Library.

DIFxAPI Errors (InstallScript)

Return Value

Description

ISERR_ISERVICE_NOT_ENABLED

Indicates that DIFx support has not been enabled or was disabled using Disable (SERVICE_DIFX_*). For information on enabling DIFx support, see Installing Device Drivers.

ISERR_WIN_BASE + ERROR_INVALID_FUNCTION

Indicates that the difxapi.dll was not found (in SUPPORTDIR) or that an exported function could not be found. Verify that you have enabled DIFx support in your project.

ERROR_DEPENDENT_APPLICATIONS_EXIST

The function removed an association between the driver package and the specified application but the function did not uninstall the driver package because other applications are associated with the driver package.

ISERR_WIN_BASE + ERROR_ALREADY_EXISTS

The driver package is already preinstalled and was not preinstalled again.

ISERR_WIN_BASE + ERROR_INSUFFICIENT_BUFFER

The pDestInfPath buffer is not large enough to retrieve the requested .inf file path.

ISERR_WIN_BASE + ERROR_FILE_NOT_FOUND

The specified .inf file was not found.

ERROR_DRIVER_PACKAGE_NOT_IN_STORE

An .inf file does not exist in the driver store that corresponds to the .inf file specified by DriverPackageInfPath.

ISERR_WIN_BASE + ERROR_NO_MORE_ITEMS

This error code applies only if the DRIVER_PACKAGE_ONLY_IF_DEVICE_PRESENT constant is specified but the DRIVER_PACKAGE_FORCE constant is not specified. In this case, the function did not preinstall the specified driver package because, although the specified driver package matched devices in the device tree, the driver already installed for each such device is a better match for the device than the specified driver package. This applies to present and nonpresent devices.

ERROR_NO_SUCH_DEVINST

This error code applies only if the DRIVER_PACKAGE_ONLY_IF_DEVICE_PRESENT constant is specified. The function did not preinstall the specified driver package because the driver package does not match a device in the device tree. This applies to present and nonpresent devices.

ERROR_NO_DEVICE_ID

The driver package does not specify a hardware ID or compatible ID that is supported by the current platform.

ERROR_MISSING_FILE

The function did not preinstall the driver package because files referenced by the .inf file could not be found.

ISERR_WIN_BASE + ERROR_CANNOT_MAKE

The function did not preinstall the driver package.

TRUST_E_NOSIGNATURE

The driver package is not signed.

CERT_E_EXPIRED

The certificate used to sign the driver package is expired.

CERT_E_WRONG_USAGE

The certificate for the driver package is not valid for the requested usage. If the driver package does not have a valid WHQL signature, the function returns this error code in the following two situations

In response to a driver signing dialog box, the user chose not to install the driver package.
The DRIVER_PACKAGE_SILENT constant is specified.

CRYPT_E_FILE_ERROR

The catalog file for the driver package was not found, or possibly, some other error occurred when the function attempted to verify the driver package signature.

ERROR_INVALID_CATALOG_DATA

The catalog file for the driver package is not valid or was not found.

ERROR_SIGNATURE_OSATTRIBUTE_MISMATCH

The certificate is not valid for the current Windows version or it is expired.

ISERR_WIN_BASE + ERROR_SHARING_VIOLATION

A component of drive package in the driver store is locked by a thread or process. This can occur, if a process or thread, other than the thread or process being called, is currently accessing the same driver package.

ISERR_WIN_BASE + ERROR_ACCESS_DENIED

Only members of the Administrators group can access this functionality.

ISERR_WIN_BASE + ERROR_BAD_ENVIRONMENT

The Windows version on which this call was made does not support this operation.

ISERR_WIN_BASE + ERROR_INVALID_PARAMETER

A supplied parameter is not valid.

ISERR_WIN_BASE + ERROR_INVALID_NAME

The specified .inf file path is not valid.

ISERR_WIN_BASE + ERROR_FILENAME_EXCED_RANGE

The length, in characters, of the specified .inf file path is greater than the maximum supported length.

ISERR_WIN_BASE + ERROR_CANT_ACCESS_FILE

The driver package files could not be preinstalled because the specified .inf file is in the system .inf file directory.

ISERR_WIN_BASE + ERROR_OUTOFMEMORY

Available system memory was insufficient to preinstall the driver package.

ERROR_UNSUPPORTED_TYPE

The driver package type is not supported.

ERROR_IN_WOW64

The 32 bit version DIFxAPI does not work on Win64 systems. A 64-bit version of DIFxAPI is required.

ERROR_INSTALL_FAILURE

The installation failed.

ISERR_WIN_BASE + ERROR_INVALID_FUNCTION

The driver package is not for a Plug and Play (PnP) function driver.