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.
In this tutorial:
- Managing Printing
- Enhancements to Printing in Windows 7
- Printing Enhancements Previously Introduced in Windows Vista
- Additional Printing Enhancements in Windows 7
- How Printing Works in Windows 7
- Understanding XPS
- Understanding the Windows Printing Subsystem
- Understanding Printer Driver Isolation
- Understanding the Print Management Console
- Enhancements to the Print Management Console in Windows 7
- The Print Management Console
- Adding and Removing Print Servers
- Configuring Default Security for Print Servers
- Adding Printers Using the Network Printer Installation Wizard
- Creating and Using Printer Filters
- Creating and Using Driver Filters
- Managing Printers Using Print Management
- Configuring Properties of Printers
- Publishing Printers in AD DS
- Managing Printer Drivers
- Configuring Printer Driver Isolation Mode
- Configuring Printer Driver Isolation Mode Using the Print Management Console
- Configuring Printer Driver Isolation Mode Using Group Policy
- Troubleshooting Driver Isolation
- Exporting and Importing Print Server Configurations
- Printer Export Files
- Performing Bulk Actions Using Print Management
- Client-Side Management of Printers
- Installing Printers Using the Add Printers Wizard
- Searching for Printers
- Installing Printers Using Point and Print
- Using Devices And Printers
- Using the Color Management CPL
- Managing Client-Side Printer Experience Using Group Policy
- Configuring the Add Printer Wizard
- Disable Client-Side Printer Rendering
- Configuring Package Point and Print Restrictions
- Extending Point and Print Using Windows Update
- Deploying Printers Using Group Policy
- Preparing to Deploy Printers
- Deploying a Printer Connection
- Limitations of Deploying Printers Using Group Policy
- Migrating Print Servers
- Migrate Print Servers Using Print Management
- Migrating Print Servers Using PrintBRM
- Monitoring and Troubleshooting Printers
- Configuring E-Mail Notifications
- Configuring Print Server Notifications
- Configuring Script Actions
- Configuring Detailed Event Logging