Symptom: We have set up the Wasp Inventory Windows Service to run as a local account, and the wireless mode mobile device is able to select the label printer, but when attempting to print the labels, nothing happens.
Cause: Microsoft has confirmed that when running a 32-bit service in a 64-bit version of Windows 8, 8.1, 10, Server 2012, or Server 2012 R2 that attempts to access printing functions, the operation will fail, even when you are able to log in to Windows as that same local account and print using an .exe file.
Solution: Microsoft has posted a Fix It download that should resolve the issue:
https://support.microsoft.com/en-us/help/2954953/some-apis-do-not-work-when-they-are-called-in-services-in-windows
Error log verbiage for searches. Note: This error message is generated by Windows and logged by the Wasp product, i.e. it is not generated by the Wasp product.
2017-06-30 09:59:05.294 697 --------------- ERROR | Class: Wasp.WaspPrintEngine.PrintEngine, Method: PrintToPrinter, Error Description: PrintTicket provider failed to bind to printer. Win32 error: Class does not exist.
|
| StackTrace: at MS.Internal.Printing.Configuration.PTProvider..ctor(String deviceName, Int32 maxVersion, Int32 clientVersion)
| at MS.Internal.Printing.Configuration.PTProviderBase.Create(String deviceName, Int32 maxVersion, Int32 clientVersion)
| at System.Printing.PrintTicketManager..ctor(String deviceName, Int32 clientPrintSchemaVersion)
| at System.Printing.PrintQueue.get_UserPrintTicket()
| at Wasp.WaspPrintEngine.PrintEngine.PrintToPrinter()
2017-06-30 09:59:06.559 697 --------------- ERROR | Class: WaspLabelEngine, Method: Service Print, Error Description: Service Print error
| StackTrace: at Wasp.WaspPrintEngine.PrintEngine.PrintToPrinter()
| at Wasp.LabelEngine.WaspLabelEngine.Print()
| at Wasp.LabelEngine.WaspLabelEngine.ServicePrint()