Error 484

 Hi I'm using PDFCreatoer with an application running within a citrix enviroment. the application runs as expected on my machine(true desk top).

the problem i get it sepradicly on user machnes I get the following error.

 

 

the I use is as follows

 

 public bool ConvertToPdf(string filePath, string pdfDestinationPath)

        {

            TraceLogger.Log("entered method", System.Diagnostics.TraceEventType.Information, "CreatePDF", 36);

            bool success = false;

            string DefaultPrinter = string.Empty;

            try

            {

                ReadyState = false;

 

                string parameters;

                TraceLogger.Log("creating error object", System.Diagnostics.TraceEventType.Information, "CreatePDF", 45);

                pdfErrorr = new PDFCreator.clsPDFCreatorError();

 

                TraceLogger.Log("creating pdfCreator object", System.Diagnostics.TraceEventType.Information, "CreatePDF", 48);

                pdfCreator = new PDFCreator.clsPDFCreator();

 

 

                pdfCreator.eError += new PDFCreator.__clsPDFCreator_eErrorEventHandler(pdfCreator_eError);

 

                //System.Windows.Forms.MessageBox.Show("It does not reach this message", "", System.Windows.Forms.MessageBoxButtons.OK);

 

                pdfCreator.eReady += new PDFCreator.__clsPDFCreator_eReadyEventHandler(pdfCreator_eReady);

 

 

                parameters = "/NoProcessingAtStartup";

 

                if (!pdfCreator.cStart(parameters, false))

                {

                    throw new Exception("Error starting PdfCreator: [" + pdfErrorr.Number + "]: " + pdfErrorr.Description);

                }

 

                if (!pdfCreator.cIsPrintable(filePath))

                {

                    throw new Exception("PdfCreator says that file '" + filePath + "' is not printable!");

                }

 

                pdfCreator.cClearCache();

 

                pdfOptions = pdfCreator.cOptions;

 

 

                // Store previous pdfOptionsion values:

                int useAutosave = pdfOptions.UseAutosave;

                int useAutosaveDir = pdfOptions.UseAutosaveDirectory;

                string autoSaveDir = pdfOptions.AutosaveDirectory;

                int autoSaveFormat = pdfOptions.AutosaveFormat;

                string autoSaveFileName = pdfOptions.AutosaveFilename;

 

                // Set new pdfOptionsions to save to the desired file:

                pdfOptions.UseAutosave = 1;

                pdfOptions.UseAutosaveDirectory = 1;

                pdfOptions.AutosaveDirectory = Path.GetDirectoryName(pdfDestinationPath);

                pdfOptions.AutosaveFormat = 0;

                pdfOptions.AutosaveFilename = Path.GetFileNameWithoutExtension(pdfDestinationPath);

 

                // Print:

                TraceLogger.Log("Setting options", System.Diagnostics.TraceEventType.Information, "CreatePDF", 91);

                pdfCreator.cOptions = pdfOptions;

                pdfCreator.cClearCache();

                TraceLogger.Log("Getting Default printer", System.Diagnostics.TraceEventType.Information, "CreatePDF", 94);

                DefaultPrinter = pdfCreator.cDefaultPrinter;

                TraceLogger.Log("the Default Printer is:" + DefaultPrinter, System.Diagnostics.TraceEventType.Information, "CreatePDF");

                TraceLogger.Log("Setting pdfPrinter as default Default printer", System.Diagnostics.TraceEventType.Information, "CreatePDF", 97);

                pdfCreator.cDefaultPrinter = "PDFCreator";

                TraceLogger.Log("Setting pdfPrinter as default Default printer was SUCCESS", System.Diagnostics.TraceEventType.Information, "CreatePDF");

                TraceLogger.Log("Print File", System.Diagnostics.TraceEventType.Information, "CreatePDF",100);

                pdfCreator.cPrintFile(filePath);

                pdfCreator.cPrinterStop = false;

 

 

                // Wait till doc gets queued up.

                while (pdfCreator.cCountOfPrintjobs != 1) ;

 

                // Start the printer.

                pdfCreator.cPrinterStop = false;

 

                // Wait till all doc get converted to pdf.

                while (pdfCreator.cCountOfPrintjobs != 0) ;

                // Wait until print ends

               /* timer.Interval = maxTime * 1000;

                timer.Enabled = true;

                while (!ReadyState && timer.Enabled)

                {

                    Application.DoEvents();

                    System.Threading.Thread.Sleep(100); // Wait 100 miliseconds.

                }

                timer.Enabled = false;*/

 

                // Restore previous pdfOptionsions values:

                pdfOptions.UseAutosave = useAutosave;

                pdfOptions.UseAutosaveDirectory = useAutosaveDir;

                pdfOptions.AutosaveDirectory = autoSaveDir;

                pdfOptions.AutosaveFormat = autoSaveFormat;

                pdfOptions.AutosaveFilename = autoSaveFileName;

                pdfCreator.cOptions = pdfOptions;

 

                if (!ReadyState)

                {

                    throw new Exception("PdfCreator printing timeout");

                }

 

                pdfCreator.cPrinterStop = true;

                pdfCreator.cDefaultPrinter = DefaultPrinter;

                success = true;

            }

            catch (Exception ex)

            {

                success = false;

 

                MessageBox.Show(ex.Message + " within CreateToPDF");

            }

            finally

            {

                pdfCreator.cDefaultPrinter = DefaultPrinter;

                // Close the PDF com object:

                if (pdfCreator != null)

                {

                    System.Runtime.InteropServices.Marshal.ReleaseComObject(pdfErrorr);

                    pdfErrorr = null;

 

 

                    System.Runtime.InteropServices.Marshal.ReleaseComObject(pdfOptions);

                    pdfOptions = null;

 

                    pdfCreator.cClose();

                    System.Runtime.InteropServices.Marshal.ReleaseComObject(pdfCreator);

                    pdfCreator = null;

 

                }

 

            }

            return success;

        }