Device Installation Types

Windows defines two types of device installations: server-side and client-side. Because they do not require user intervention by an administrator, server-side installations are more desirable than client-side installations.

Server-side Installations

A server-side installation is a device installation that can be handled completely by the system's user-mode and kernel-mode components of the Plug and Play (PnP) manager. In this respect, device installation occurs in the system context, which does not support an interactive user interface. Because of this, a user interface cannot be displayed in this context.

A server-side installation can occur only if:

  • The device can be detected by a bus driver, which then must notify the PnP manager.

  • The PnP manager can find an INF file that contains a hardware ID that matches with that of the device.

  • The INF file and drivers of the device are signed (see Driver Signing).

  • SetupAPI can locate all the device's drivers without prompting the user for media locations.

    This means that the drivers were either contained in the default Windows installation (inbox driver), a vendor-supplied driver was previously installed, or vendor-supplied driver files were preinstalled so SetupAPI can locate them during the actual installation. For more information, see Preinstalling Driver Files.

  • The device's class installer and co-installers do not display property pages at the end of the installation operation.

  • The device's INF file has not marked the device as requiring an interactive installation (by specifying InteractiveInstall in an INF ControlFlags section).

  • All RunOnce registry entries in the device's INF file must comply with the rules for device installations as specified in RunOnce Registry Entries.

Server-side installations do not display any user interface and do not require an administrator to be logged on. (The term "server-side" is used because installation can be accomplished by the system's PnP manager without a user-mode "client" making calls into the PnP manager.)

Note  Starting with Windows 7, Windows always searches for driver packages as well as installs drivers in a noninteractive context. In earlier versions of Windows, the operating system may search for driver packages in an interactive context before it installs the driver. For more information, see Where Windows Searches for Drivers.

Client-side Installations

A client-side installation is a device installation that requires communication with a user. In this respect, device installation occurs in the interactive context of the user who is currently logged on.

A client-side installation occurs if one or more of the following are true:

  • The PnP manager cannot find an INF file that contains a hardware ID that matches that of the device.

  • The PnP manager cannot locate all the required driver files.

  • The device's INF or driver files are not signed.

  • SetupAPI has to display any form of user interface, such as prompting the user for media locations.

  • A class installer or co-installer displays property pages at the end of the installation operation.

  • The device, bus, or bus driver does not support Plug and Play (PnP).

Client-side installations require use of installation "client" software, such as the Add Hardware Wizard or a vendor-supplied device installation application. This client software installs the device by making calls to SetupAPI, which in turn calls the PnP manager when necessary. In this respect, the PnP manager is considered to be the installation operation's server-side.

Note  Starting with Windows Vista, the core stages of device installation are always run in a noninteractive, server-mode context. Therefore, client-side installations are no longer supported. However, class installers or co-installers that supply finish-install wizard pages or finish-install actions are supported.



Send comments about this topic to Microsoft

© 2015 Microsoft