Printer Maestro service will not start, Reprint Console cannot print, yielding CLSID error class isn't registered
Symptom
When attempting to start the Printer Maestro service, the service will refuse to start with a rather nondescript error message.
If you look at the event viewer under the Application logs, you'll find an error message yielding a COMException saying that the CLSID isn't registered
Service cannot be started. System.Runtime.InteropServices.COMException (0x80040154):
Retrieving the COM class factory for component with CLSID {EAC071C3-2CC4-4201-9B5D-76E209673C10} failed due to the following error:
80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
at Maestro.Service.MaestroService.OnStart(String[] args)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
When analyzing the system's printer profile, the driver version for our drivers is listed as v1.0
No other errors appear in the installation logs or otherwise.
Because the Maestro service cannot start, the Reprint Console will report all print job statuses as Unknown and not allow the user to reprint at all. Any services that rely on Maestro's printer data will incorrectly list all printers as Unknown.
Environment
BarTender 2016 and later
Drivers by Seagull
What causes this?
Underneath BarTender and our drivers is the Driver Automation Library, the DAL. The DAL is generally installed in one of two ways:
- Installed with Drivers by Seagull
- Installed with BarTender, likely for use with Printer Maestro
The DAL is a bunch of registry keys that seem to report printer status to our drivers and our systems that rely upon statuses and driver information. The key components that rely on this are Printer Maestro, Reprint Console, and the printer section of the History Explorer. To an extent, the Integration Services may rely on this as well.
Where to find the DAL
The DAL is located under a specific CSLID in the registry at
HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{EAC071C3-2CC4-4201-9B5D-76E209673C10}
In this scenario where the Printer Maestro service is yielding a not registered error, the DAL has failed to register itself and this entire CSLID is missing. This can be caused by a conflict between the manufacturer's printer drivers and Drivers by Seagull, though there may be other causes as well.
This is not a common issue.
How to fix a DAL issue
The DAL must be added through an automated process. It cannot be added manually through creating registry keys.
Reinstalling the printer drivers
The first step is to scrub the affected printers off the system.
- If not done already, download the driver installer from our website and unpack it.
- If it is already unpacked, run DriverWizard.exe from the folder
- Select "Remove printer drivers"
- Select "Use advanced printer driver removal options"
- Check all printers using Drivers by Seagull. Click Next
- The matching drivers should be selected. For some models, remove the manufacturer's drivers if they are present.
- Continue clicking next. The wizard will fill in the other options.
- Once you reach the end, click Finish to scrub the drivers off the system.
- Restart the computer to finish the process. Do not skip this step.
- Reinstall the printers using the wizard. If there are many printers, start with just one.
Once at least one printer is on the system, attempt to restart the Printer Maestro service. If the service does not start, continue to the next section.
Reinstall Printer Maestro
In BarTender 2016, you can reinstall just Printer Maestro by doing the following:
- Go to Add / Remove Programs or the equivalent in the Control Panel
- Select BarTender
- Click Change or Modify on the toolbar
- Select "Modify" from the menu
- Uncheck only Printer Maestro
- Click next to uninstall Maestro then close the dialog
- Click Change or Modify again then select "Modify" from the menu.
- Check the Printer Maestro box. Do not uncheck any other boxes.
- Click next to reinstall Maestro then close the dialog.
Once Maestro is reinstalled, check that the service is started and running in the Windows Services list.
For BarTender 2019 and later, repair the installation.
Notes about fixing the DAL issue
This fix does not work retroactively. Any jobs that were processed while the DAL was broken will continue to have an Unknown status and cannot be reprinted in the Reprint Console. This fix will only work for prints going forward from here.
If you check the registry after applying the fix, the DAL keys may still not show up. As long as the Maestro service is running and properly reporting printer status to the Reprint Console, you can safely assume the DAL is properly registered.