The SetDefaultPrinter method accepts only the names of currently installed printers. This error generally occurs if you specify the printer port instead of the name of the printer, or if you use the name of a printer that is not currently installed.
To correct this error
SetDefaultPrinter Method | EnumPrinterConnections Method | AddWindowsPrinterConnection Method