When the redirection / failover system seems to misbehave, you may notice the following behavior:
- Integration prints seem to end up on random printers or attempts to print to PDF.
- The integration system seems to hang indefinitely with no errors, crashing, or log entry after the job has been submitted to the print engine
- When Integrations try to print to a network printer, the print job ends up at a local one instead
While the Administration Console operates on a Per-User basis, the printer settings are stored in the Advanced Printer and Driver Settings config file. By default, this file is located at:
This file is shared across all users and service contexts on the system. However, the settings can seem erratic when it involves the effective redirection sequence. By default, it uses the current user's default printer as the final stop in the sequence and Windows may change this on a whim.
The basics of the redirection / failover system
The redirection / failover system settings are located in the Admin Console under the "Printer Setup" section. This section lists all the printers installed on the system as well as configurations and details for each printer.
Each printer will allow you to set redirection and failover conditions as well as a sequence to follow if a printer failure does occur:
By default, the effective order is "the current printer" -> "the default printer". Redirection and failover can be turned off per printer, but it is not possible to change this globally yet.
What really is the default printer?
This is where the erratic behavior begins.
If you do not explicitly set the default printer (as I have done here), Windows will automatically choose the default printer according to your habits. It chooses your printer for you and this changes. This is a "smart printing" feature of Windows 10 and similar operating systems. This can potentially change the Effective Sequence if Windows changes what the default printer is.
The Windows Default printer is also set on a per user basis which can also change the Effective Sequence depending upon who is logged into the computer at the time.
Best Practices (workarounds)
Any checkboxes and redirections explicitly not set as default will be preserved across all users and contexts. However, by default, the redirection sequence sets it to the default printer. There is a way to preserve consistency.
Open the Admin Console and select Printer Setup. In the top right-hand corner is a button labeled [Default Printer]. When you open this dialog, you'll see two options to manage default printers. Due to Window's "smart printing" feature, selecting the first option will cause the redirections to seem erratic.
Using the second option will maintain a specific default printer across all users and contexts within BarTender as long as the checkbox as the bottom is checked. This setting will be saved in the config file:
About this dialog:
- You can set the Default Printer to any printer installed on the system
- If you wish to change what the default printer is for BarTender, you can change it at any time here.
- This only changes the default printer with BarTender, not Windows.
Working with UNC or IP printers
If you are using a networked printer that is not actually installed on the system running the integration, the Print Scheduler may not have permissions to reach this network resource. Please do the following to fix this (you must update to BarTender 2019 R5 or later to do this):
- Open up your Windows Services list (click on the Start Menu and type "Services" without the quotes)
- Stop the BarTender System Service
- When asked to stop the dependent services, say OK or Yes.
- Right click on the BarTender System Service and click Properties
- Click on the Logon tab.
- Tell the service to run under a user and enter a domain-level user with an account that does not change its password.
- When you have typed the credentials, click OK
- Start the services in the following order:
- BarTender System Service
- Printer Maestro
- BarTender Print Scheduler
- BarTenter Integration Service
If redirection continues, you can elevate the permissions on your Integration as well.
Once you set permissions in your integration file, make sure to test it then redeploy it.
Relevant problem tickets
Please link to the following problem tickets depending upon the customer's request:
226647 - REQ: Make redirection and failover settings consistent across all users on a single computer This REQ has been resolved by the information above.
227404 - REQ: Add the ability to turn off the redirection system or have it off by default
228272 - REQ: Add an integration message to make redirection visible in the logs