Administrators can use Print Management to configure the Driver Isolation mode for each printer driver installed on a print server There are several scenarios in which doing this might be useful to increase print server reliability. For example, if a print queue associated with a particular driver keeps crashing, the administrator can change the Driver Isolation mode for the driver to Isolated so that the driver runs within its own separate process. That way, other print queues on the server won't be affected when the driver crashes. The administrator can then contact the vendor to request an updated driver for the printer.
Another example might be when a vendor supplies the administrator with a printer driver whose quality is unknown. In this case, the best practice is to assign the driver to an isolated process and then collect and analyze crash statistics for the print queue associated with the driver over a period of time . Once the driver is determined to be sufficiently stable, the administrator can move the driver to the shared process.
Configuring Printer Driver Isolation Mode Using the Print Management Console
You can configure the Printer Driver Isolation mode for a printer driver from under the All Drivers node, a custom driver filter node, or the Drivers node for a print server. To configure the Driver Isolation mode for a printer driver, right-click the driver and select Set Driver Isolation from the context menu (see Figure 18-4) . Doing this displays four choices:
■ None Runs the driver within the spooler process (legacy Isolation mode).
■ Shared Runs the driver within the shared process.
■ Isolated Creates a new isolated process for this driver only.
■ System Default This menu option displays (None) if the DriverIsolation entry in the driver's .inf file is missing or has a value of 0, or it displays (Shared) if the DriverIsolation entry in the driver's .inf file has a value of 2 . In other words, None indicates that the driver is not designed to support driver isolation, and Shared indicates that it is designed to support driver isolation .
Note also the new Driver Isolation column in the details pane when drivers are being displayed in Print Management, which is new in Windows 7 and Windows Server 2008 R2.
NOTE If you are using the Print Management console on a computer running Windows 7 or Windows Server 2008 R2 and connect to a print server running a previous version of Windows, the Print Management console will indicate that driver isolation is not supported on that server, and you will not have the option to change modes.
Configuring printer Driver Isolation Mode Using Group policy
You can configure certain aspects of printer driver isolation globally on a Windows Server 2008 R2 print server by using the following two Group Policy settings, which are new in Windows 7 and Windows Server 2008 R2 and apply only to those platforms:
■ Computer Configuration\Policies\Administrative Templates\Printers\Execute Print Drivers In Isolated Processes
This policy setting determines whether the print spooler will execute printer drivers in an isolated or separate process . If you enable or do not configure this policy setting, the print spooler will attempt to execute printer drivers in an isolated process. If you disable this policy setting, no driver isolation is attempted, and the print spooler will execute printer drivers in the print spooler process . In other words, adjusting this policy setting to Disable lets you completely disable driver isolation and force everything to run in legacy mode (mode = None). Any other setting allows driver isolation to work as specified by a driver's .inf file and Print Management console settings.
■ Computer Configuration\Policies\Administrative Templates\Printers\Override Print Driver Compatibility Execution Setting Reported By Print Driver
This policy setting determines whether the print spooler will override the driver isolation compatibility reported by the printer driver via the DriverIsolation entry in its . inf file. Doing this enables you to execute printer drivers in an isolated process even if the driver does not report compatibility. If you enable this policy setting, the print spooler will attempt to execute the driver in Isolation mode regardless of the DriverIsolation entry in the driver's .inf file . If you disable or do not configure this policy setting, the print spooler will honor the DriverIsolation entry in the driver's .inf file.
NOTE Both of these policy settings apply only to printer drivers loaded by the print spooler; print drivers loaded by applications are not affected. After changing these policy settings, use gpupdate/force and then restart the print Spooler service to ensure that the new policies take effect.
Administrators can troubleshoot driver isolation issues using the event logs . By default, Admin logging for the PrintService is enabled in Windows 7 and Windows Server 2008 R2, and you should monitor the Application and System Event Logs for events coming from the print spooler
To see additional events related to driver isolation activities, you can enable Operational logging as follows:
1. Open Event Viewer and expand the following:
Application and Services\Logs\Microsoft\Windows\PrintService .
After you enable Operational logging, look for Informational Events with an Event ID of 842 and with a Source that is PrintService . This event indicates the Isolation mode that was used to print a particular print job and provides information such as the following.
The print job <x> was sent through the print processor <print processor name> on printer <printer name>, driver <print driver name>, in the isolation mode <x> (0 - loaded in the spooler, 1 - loaded in shared sandbox, 2 - loaded in isolated sandbox). Win32 error code returned by the print processor: 0x0.
Was this article helpful?