Driver Install Frameworks for Applications (DIFxApp)

Driver Install Frameworks for Applications (DIFxApp) version 2.1 is a component of Driver Install Frameworks (DIFx) version 2.1. With DIFxApp, Microsoft Windows Installer can be used to install signed driver packages that are associated with applications in a Windows Installer installation package. DIFxApp is designed for vendors who either already have a Windows Installer installation package for their applications or plan to create one.

For new installation applications, use DIFxAPI version 2.1 instead of DIFxAPI version 2.0, which did not fully support Windows Vista and later versions of Windows.

Starting with Windows 7, the Windows Driver Kit (WDK) includes version 2.1 of DIFxApp. For information about how to obtain the latest WDK, see How to Get the WDK.

Note  Although version 2.1 of DIFxApp was available in earlier versions of the WDK, use the version of DIFxApp in the Windows 7 WDK and later versions of the WDK.

Starting with Microsoft Windows 2000, DIFxApp supports installing signed Plug and Play (PnP) function drivers and signed class filter drivers. You need to create only one installation package that will install driver packages. DIFxApp can also be configured in legacy mode to install unsigned PnP function drivers and unsigned class filter drivers. In legacy mode, DIFxApp will also install driver packages that have missing files.

For a complete list of driver package requirements and related installation considerations, see DIFx Driver Package Requirements.

DIFxApp maintains a driver package-applications list that associates the driver package with the applications that install the driver package. DIFxApp uses this information to determine whether to uninstall a driver package when an associated application is uninstalled. .

For class filter drivers, DIFxApp also maintains a service-driver packages list that associates a service with the driver packages that support the service. When the currently installed driver for a service is uninstalled, DIFxApp uses this information to update the driver that is installed for a service or to remove the service.

DIFxApp does not maintain a service-driver packages list for PnP function drivers. When DIFxApp installs a PnP function driver, DIFxApp uses the standard PnP and device installation mechanisms to select and install the best compatible driver for the PnP device. When DIFxApp uninstalls a PnP function driver, it selects and installs the best compatible driver from the other drivers that are installed on a computer. If a compatible device driver is not available, DIFxApp removes the device from the device tree.

For more information about the operation of DIFxApp, see How DIFxApp Works.

For more information about how to create a Windows Installer installation package that uses DIFxApp, see Authoring a Windows Installer Installation Package That Uses DIFxApp.

For more information about DIFx, see the Driver Install Frameworks Tools website.

The DIFxApp tool is located in the \redist\DIFx directory of the WDK.

Tip  If you do not have to install drivers and applications in the same installation package, you can use Driver Package Installer (DPInst) instead of DIFxApp. DPInst simplifies and customizes the installation of signed driver packages for devices that have not yet been installed in a computer (commonly known as a software-first installation). DPInst also automatically updates the drivers for any installed devices that are supported by the newly installed driver packages.



Send comments about this topic to Microsoft

© 2015 Microsoft