How to refill cold melt printers without restarting the service?


This is my basic understanding of how to make a printer available to use in ColdFusion.

  1. Remote into the server running CF using the account that the CF service is running under.
  2. Open the windows control panel and add the printer.
  3. Restart the CF service.

My question: is there any way to reload the printers without restarting the CF service?

This is the issue we are trying to troubleshoot. CF error detail:

Error: Printer \\(server)\(printerName) is not available. Available printers are: , şៈ᠘, , , , 凙ᜀᚈ, , 疠쐵䚏, , .

Restarting the CF service fixes this but it seems to be happening pretty often lately. I am wondering if there is some java code to reload the printers so it can be done automatically. We are using CF9.

To use a network printer ColdFusion is going to need to be running under a domain account that has permissions to network resources. The default user that the ColdFusion Windows Service runs under is localSystem. This user account normally has lots of permissions to the local system but no permissions on the network. The usual solution is to create a domain account for this purpose and then set the ColdFusion Windows service to run as that user in the Services Control Panel.

I recently installed a printer on my server machine, and it was detected right away without any issues. I am using CF10 on a Windows 7 64-bit system. So the following code listed my printer without any restart of the service at all:

<cfdump var="#GetPrinterInfo()#">

Hope this would help.