Error "Settings to access printer 'printername' are not valid" when printing from Windows service

Marc van Breemen picture Marc van Breemen · Apr 27, 2010 · Viewed 42.1k times · Source

I get the error mentioned when printing to a network printer.

The error does not occur when run under XP/Win2003, in a WinForm app or when a local printer is used.

The error does only occur when run as a Windows Service under Vista/Win7/Win2008 and printing to a network printer.

The Windows service runs under a network user that has access to the network printer. Before I print I check if the printername (including network path) is ok by looping through the available printers.

How can this be solved?

Answer

Marc van Breemen picture Marc van Breemen · Apr 28, 2010

Solved by adding the printer to the SYSTEM user via a registry hack as described in the Microsoft doc: http://support.microsoft.com/kb/184291/en-us.