Print Scheduler Service error: Could not start an interactive BarTender due to no logged on users to the system.
Symptoms
You may be encountering the following problematic behavior when printing from Integration.
- Integration intermittently stops.
- Labels do not print from Integration intermittently.
- "Access is \ was denied" error messages occur when printing from Integration.
In the Print Scheduler service logs (C:\ProgramData\Seagull\Services\Integrations\Service) the follow error message is logged:
|ERROR|Could not start an interactive BarTender due to no logged on users to the system.
The most common error messages that occur alongside the above message are:
- "Access to 'x' was denied" \ "Access is denied."
- "Thread was being aborted."
Environment
BarTender 2016 and later.
Printing from Integration Builder or a deployed Integration.
Diagnosis
- The error message will be found in the Print Scheduler service text logs (C:\ProgramData\Seagull\Services\Logging).
- Open the Integration(s) in Integration Builder and check all Print actions (e.g. Print Document, Print Command Script, Print BTXML Script, etc.) on the Print Options tab and confirm if the Prompt for data input box is checked.
Possible Solutions
Solution 1 - Uncheck 'Prompt for data input' option in Integration Print actions.
If you do not require end-user input in an interactive dialog (e.g. Data Entry Form) while printing from Integration, it is recommended to uncheck the Prompt for data input box in the Integration.
-
- It is recommended to test this change before re-deploying the Integration.
Solution 2 - Specify a user account on the BarTender Print Scheduler service.
It is generally recommended to leave the BarTender Print Scheduler service running as Local System as the service utilizes user impersonation. If a user account is defined in the Integration file, it will be impersonated and run as the local system account for the service. When running with the local system account the service is able to run as if it was a different account. (BarTender Services and Permissions).
However, if you DO require end-user input in an interactive dialog while printing from Integration, then you must ensure the currently logged in user has access to all required files, printers, and system resources.
In these situations, you must specify an account on the BarTender Print Scheduler service in Windows Services management console and on the Integration's print action with the following attributes:
- has local administrator rights
- has domain-level access (if accessing network resources)
- does not change its password
How to set a user account on the BarTender Print Scheduler service:
- Open Windows Services.
- Right-click on the BarTender Print Scheduler and select Properties.
- Select the Log On tab.
- Click the This account radio button, then enter the username and password of the user account.
- Click the Apply button, then OK.
- Right-click on the BarTender Print Scheduler service and select Restart to restart the service.
How to set a user account on a Print action in Integration Builder:
- Open your Integration file in Integration Builder.
- Select the Print action of your Integration (e.g. Print Document, Print BTXML Script, Print Command Script, etc.).
- Select the Action tab of the print action.
- Select the Specify user credentials radio button, then enter the same username and password you specified on the BarTender Print Scheduler service in Windows Services.
- Use the Test tab to test the changes before re-deploying the Integration. Once you have finished testing, use the Deploy tab to re-deploy the Integration and apply the changes to your Integration in production.
Internal only information