PDF Creator printer won't install with the Windows LPR Port Monitor feature enabled

Hi,

I’m having a problem with the installation of PDF Creator on my lab image when I have the Windows LPR Port Monitor feature enabled and LPR ports created before I install PDF Creator. PDF Creator installs but there is no PDF Creator printer installed. When I launch PDF Creator I just get: “You do not have any PDFCreator printers installed. Most likely there was a problem during the setup or the installation has been altered afterwards. Do you want to fix this by reinstalling the PDFCreator printers?”
On the same box, If I uninstall the LPR ports and LPR Port Monitor feature reboot and re-install PDF Creator it works fine. I need the LPR Port Monitor feature and cannot remove this from my image.

You can reproduce this problem by:

  1. Add the Windows LPR Port Monitor feature
  2. Create an LPR Port Monitor Port (Not a TCP/IP Port monitor port)
  3. Create a printer and set it to use the LPR Port
  4. Reboot
  5. Install PDF Creator
  6. PDF Creator Printer will not install

Test machine:
Windows 7 32-Enterprise
PDF Creator 2.3

Is this a known issue? Please help.

Cheers,

Steve

Steven Crudgington
Technical Support Manager
Keele University

Hi Steeve,

it isn’t directly a known issue in this form, but it might be possible to find a solution:
Please run the printerhelper.exe from the main PDFCreator folder with the following parameters
printerhelper.exe /installprinter “printername” /portapplication “path to PDFCreator.exe”
This should give a more usefull error message indicating the exact cause.
What happens if you install PDFCreator first and then the LPR port?

best regards,

Robin

Hi Robin,

Thanks for getting back so soon.

When I run the printerhelper.exe with the command you specified I get: Error: Printer port already installed. Uninstall the port before you use the command ‘AddPrinter’.

I tried installing PDF Creator before the LPR Port Monitor feature and then installing the LPR feature ports and it appears to be working ok. Installing PDF Creator first won’t be an ideal solution for us as we will have to install PDF Creator on the image. We usually leave it off of the image and install it silently post image deployment with our software management solution. (The LPR Port Monitor Feature is enabled on the image)

Is there any way you can help with installing it after the LPR Port Monitor feature? Thanks very much.

*Edit: tested installing PDF Creator first before LPR Port Monitor and amended reply.

Cheers,

Steve

Hi Steve,

if it is based on a fresh image where it is certain that PDFCreator wasn’t previously installed, it sounds like the port was successfully installed, it might do the trick to simply run the printerhelper.exe with /addprinter “printername”.
If there might have been an older versio of PDFCreator on the image previously, you can use printerhelper.exe/uninstallprinter to remove the possible remans of the previous installation.

Best regards,

Robin

Hi Robin.

The image will have had an old version of PDF Creator on it before.

Outputs from those commands:

Addprinter
Error: PDFCreator driver ‘PDFCreator’ not installed! You have to install the complete ‘PDFCreator’ printer with the command ‘InstallPrinter’ before you can add another one.

Uninstall
Error:
Message = Object reference not set to an instance of an object.
Source = PrinterHelper
StackTrace = at pdfforge.PrinterHelper.Win32Printer.GetMonitor(String portName, String& monitorName)
at pdfforge.PrinterHelper.Win32Printer.GetPrinters(PrinterEnumFlags printerEnumFlags, String monitorName)
at pdfforge.PrinterHelper.Printer.UnInstallPrinter(IWin32Printer win32Printer, String driverName, String monitorName, ILogging logging)
at pdfforge.PrinterHelper.Commands.CheckCommandUnInstallPrinterAndExecute(IDictionary2 cmdlParams, IWin32Printer win32Printer, String driverName, String monitorName, ILogging logging) at pdfforge.PrinterHelper.Program.Run(IDictionary2 cmdlParams, ICommands commands, IWin32Printer win32Printer, ILogging logging)
at pdfforge.PrinterHelper.Program.Main(String[] args)
TargetSite = Boolean GetMonitor(System.String, System.String ByRef)