Windows 7 / Getting Started

Understanding Printer Driver Isolation

Printer driver isolation is a new feature of the printing subsystem in both Windows 7 and Windows Server 2008 R2 that can increase the stability of print servers by allowing administrators to isolate unstable printer drivers within a separate PrintIsolationHost.exe process instead of within the spooler process. The advantage of doing this is that when an unstable printer driver crashes, the crash doesn't halt the spooler, which would stop all other printers from functioning on the print server.

When the Print Server role service of the Print and Document Services server role is installed on Windows Server 2008 R2, each printer driver on the print server can run in one of three possible driver Isolation modes:

  • None In this mode, the printer driver will run in the spooler process and not in a separate process. If a driver crashes, the spooler will crash, and administrators must restart the Print Spooler service. All print queues on the server will be offline while the spooler is offline. This mode is the only option on Windows 2000, Windows 2003, and Windows 2008 print servers.
  • Shared The printer driver will run in a separate process with all of the other drivers that are also configured in Shared mode. If the driver crashes, the spooler will not crash, but all print queues with drivers in the shared process will be offline (print queues with drivers in isolated processes or within the spooler process will remain online). The shared process will be recycled, the drivers in it will be restarted, and the queues associated with these drivers will return to the online state.
  • Isolated In this mode, the printer driver will run by itself in a separate process isolated from all other drivers. If the driver crashes, only the print queue associated with this driver will be offline. The isolated process will be recycled, the print queue will be restarted, and the queue associated with the driver will return to the online state. No other print queues or drivers on the server will be affected by this crash/restart.

Therefore, a Windows Server 2008 R2 print server can have the following:

  • Legacy mode (always present)
  • Shared process (always present)
  • One or more isolated processes (optional)

Note The default driver Isolation mode for in-box printer drivers in Windows 7 and Windows Server 2008 R2 is Shared, whereas the default driver Isolation mode for virtual printer drivers (such as the Microsoft XPS Document Writer), fax, and print-to-file drivers (such as Print To OneNote) is None. Group Policy and .inf settings can override these System Default driver isolation settings. For more information, see the section titled "Configuring Printer Driver Isolation Mode" later in this tutorial.

Printer vendors can indicate whether a particular printer driver that they provide has been tested and verified to support running in a shared or isolated process. They can do this by adding a DriverIsolation entry in the Version section of the .inf file for the driver. For example, the following .inf file entry indicates that the driver does not support running in a separate (shared or isolated) process.

[Version]
...
DriverIsolation=0

The following .inf entry indicates that the driver can be run in a separate process.

[Version]
...
DriverIsolation=2

Note The values 1 and 3 for DriverIsolation are reserved for future use. Any value other than DriverIsolation=2 assumes DriverIsolation=0.

Regardless of whether this .inf file entry is present or what its value is, administrators can override this setting and configure driver Isolation mode for any print driver by using the Print Management console. Administrators can also configure global driver isolation settings by using Group Policy. For information on how to configure driver isolation using Print Management and Group Policy, see the section titled "Configuring Printer Driver Isolation Mode" later in this tutorial.

Note Print servers might experience a small degradation of performance when driver isolation is implemented due to the increased number of processes running on the system and the additional interprocess communication overhead incurred when the driver calls spooler functions, and vice versa. Additional temporary performance degradation might also be incurred when a new process is created or needs to be recycled. This performance degradation is much more evident when there are many drivers running in Isolated mode than when using Shared mode.

[Previous] [Contents] [Next]

In this tutorial:

  1. Managing Printing
  2. Enhancements to Printing in Windows 7
  3. Printing Enhancements Previously Introduced in Windows Vista
  4. Additional Printing Enhancements in Windows 7
  5. How Printing Works in Windows 7
  6. Understanding XPS
  7. Understanding the Windows Printing Subsystem
  8. Understanding Printer Driver Isolation
  9. Understanding the Print Management Console
  10. Enhancements to the Print Management Console in Windows 7
  11. The Print Management Console
  12. Adding and Removing Print Servers
  13. Configuring Default Security for Print Servers
  14. Adding Printers Using the Network Printer Installation Wizard
  15. Creating and Using Printer Filters
  16. Creating and Using Driver Filters
  17. Managing Printers Using Print Management
  18. Configuring Properties of Printers
  19. Publishing Printers in AD DS
  20. Managing Printer Drivers
  21. Configuring Printer Driver Isolation Mode
  22. Configuring Printer Driver Isolation Mode Using the Print Management Console
  23. Configuring Printer Driver Isolation Mode Using Group Policy
  24. Troubleshooting Driver Isolation
  25. Exporting and Importing Print Server Configurations
  26. Printer Export Files
  27. Performing Bulk Actions Using Print Management
  28. Client-Side Management of Printers
  29. Installing Printers Using the Add Printers Wizard
  30. Searching for Printers
  31. Installing Printers Using Point and Print
  32. Using Devices And Printers
  33. Using the Color Management CPL
  34. Managing Client-Side Printer Experience Using Group Policy
  35. Configuring the Add Printer Wizard
  36. Disable Client-Side Printer Rendering
  37. Configuring Package Point and Print Restrictions
  38. Extending Point and Print Using Windows Update
  39. Deploying Printers Using Group Policy
  40. Preparing to Deploy Printers
  41. Deploying a Printer Connection
  42. Limitations of Deploying Printers Using Group Policy
  43. Migrating Print Servers
  44. Migrate Print Servers Using Print Management
  45. Migrating Print Servers Using PrintBRM
  46. Monitoring and Troubleshooting Printers
  47. Configuring E-Mail Notifications
  48. Configuring Print Server Notifications
  49. Configuring Script Actions
  50. Configuring Detailed Event Logging