Page 1 of 1

PDF's not Created When the Application is Launched from a Service

Posted: Mon Oct 16, 2017 9:33 am
by steve.thresher
PXC6::IPXCPrinterPtr is not creating PDF files when the application is launched from a service. The same application launched with the same command line from a command prompt creates PDF's as expected. Are there a known issues using PDF-XChange from applications launched from services?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Mon Oct 16, 2017 9:58 am
by Tracker Supp-Stefan
Hello steve.thresher,

I believe the drivers can not work in that way - but am awaiting a confirmation from our dev team.

Regards,
Stefan

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Oct 17, 2017 10:21 am
by steve.thresher
Do you know how long it will take to get an answer from the developers?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Oct 24, 2017 8:07 pm
by steve.thresher
If the printer cannot be used from a service then do you have any suggestions on how we can utilise the printer from an unattended process?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Wed Oct 25, 2017 10:30 am
by Tracker Supp-Stefan
Hello Steve,

Apologies for the delay in following up on this.
I am now checking with my colleagues directly - and should have an answer for you very shortly!

Regards,
Stefan

Re: PDF's not Created When the Application is Launched from a Service

Posted: Wed Oct 25, 2017 6:27 pm
by Ivan - Tracker Software
Can you please try if enabling the "Allow service to interact with desktop" option for your service solves the problem?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Thu Oct 26, 2017 8:58 am
by steve.thresher
Thanks for the response. I've tried using my credentials for the service and that made no difference. I'll try the interact with desktop option and report back.

Re: PDF's not Created When the Application is Launched from a Service

Posted: Thu Oct 26, 2017 9:45 am
by Tracker Supp-Stefan
Thanks for the follow up Steve,

Looking forward to your feedback once you've had the chance to test it!

Cheers,
Stefan

Re: PDF's not Created When the Application is Launched from a Service

Posted: Thu Oct 26, 2017 2:48 pm
by steve.thresher
Hi Stefan,

Unfortunately the 'Allow desktop interaction' option has not fixed the problem. Basically my program is waiting for the PDF to be produced but the file never appears. The callstack for pdfSaver6.exe is as follows:

> win32u.dll!NtUserGetMessage() Unknown
user32.dll!GetMessageW() Unknown
pdfSaver6.exe!00007ff6cf9e09c1() Unknown
pdfSaver6.exe!00007ff6cf9e08b4() Unknown
pdfSaver6.exe!00007ff6cf9e1bc2() Unknown
pdfSaver6.exe!00007ff6cfbc6fe4() Unknown
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown

I had a copy of SysInternal's ProcessMonitor running at the time and I've attached a copy of the trace which includes all events from any process that contains pdf in the name. I'm out of ideas right now but I'm happy to run any diagnostic software you care to provide or I'm sure I can sort out remote access for your developers if that would help.

Kind regards
Steve.

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Oct 31, 2017 4:46 pm
by steve.thresher
Any suggestions at all on what I could try next?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Thu Nov 02, 2017 9:17 am
by steve.thresher
Sorry to nag but I have several customers that are affected by this issue and they're starting to get quite impatient. Is there anything further I can try to get this solution working?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Nov 07, 2017 11:34 am
by steve.thresher
Could you please give me an update on what is happening with this issue?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Mon Nov 13, 2017 10:05 am
by steve.thresher
Could you please let me know if this issue will be investigated further?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Nov 21, 2017 4:18 am
by steve.thresher
Could you please let me know if this issue will be investigated further?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Nov 21, 2017 6:32 am
by Ivan - Tracker Software
Sorry, we just missed your posts. My apology.

Will take a look as soon as possible. As far as I remember it is essential to have "Allow service to interact with desktop" option enabled as otherwise, the driver cannot communicate with another part - pdfSaver - which generates PDFs.

But it seems there are some other circumstances in your case and will check what it might be.

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Nov 21, 2017 11:24 am
by steve.thresher
Excellent! I look forward to your response.

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Nov 21, 2017 1:00 pm
by Tracker Supp-Stefan
:)

Re: PDF's not Created When the Application is Launched from a Service

Posted: Thu Nov 30, 2017 10:17 am
by steve.thresher
Any idea how much longer it will be until this issue can be progressed?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Thu Nov 30, 2017 10:23 am
by Sasha - Tracker Dev Team
Hello Steve,

We are having a major release in a couple of days - after that we'll look into your problem.

Cheers,
Alex

Re: PDF's not Created When the Application is Launched from a Service

Posted: Thu Nov 30, 2017 1:34 pm
by steve.thresher
Thanks for the update.

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Dec 05, 2017 1:37 pm
by Tracker Supp-Stefan
You are welcome Steve,

The new version is now out - so I've reminded Sasha of this topic and your problem!

Cheers,
Stefan

Re: PDF's not Created When the Application is Launched from a Service

Posted: Wed Dec 06, 2017 8:59 am
by Sasha - Tracker Dev Team
Hello Steve,

Here's a sample that I had a long time ago for printing from the Windows Service:
Service.rar
(199.29 KiB) Downloaded 251 times
Cheers,
Alex

Re: PDF's not Created When the Application is Launched from a Service

Posted: Mon Jan 22, 2018 4:00 pm
by steve.thresher
Could you please tell me how I register the assembly / DLL so I have access to the PXCComLib5.CPXCControlEx class / object from within the attached C# solution?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Thu Jan 25, 2018 10:01 am
by Sasha - Tracker Dev Team
Hello Steve,

Well that was a very long time ago, when this sample was written. I suspect that the regsvr32 was used to register the dll.

Cheers,
Alex

Re: PDF's not Created When the Application is Launched from a Service

Posted: Mon Feb 05, 2018 9:18 am
by steve.thresher
I've not been able to get the sample to build yet given I'm using version 6 of the product not version 5. Would you be able to provide an upgraded version of the sample that will work with version 6?

Also, while looking for information on how to build the sample, I found this entry on StackOverflow:

https://stackoverflow.com/questions/218 ... ws-service

It suggests someone else was having the same problem as me. Have you actually tried the scenario listed above?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Mon Feb 05, 2018 3:13 pm
by Sasha - Tracker Dev Team
Hello Steve,

You will have to use newer library reference in the project:
Capture26.PNG
Cheers,
Alex

Re: PDF's not Created When the Application is Launched from a Service

Posted: Mon Feb 05, 2018 5:50 pm
by steve.thresher
Thanks for the update, I can now build the solution.

The problem now is both the forms app and service fail when starting the print job. The forms app gives:

An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in System.dll

Additional information: The specified executable is not a valid application for this OS platform.

The attached screenshot shows what is displayed when the service is started. Do you have any suggestions?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Feb 06, 2018 10:07 am
by steve.thresher
I still cannot get the sample to work. I've tried tweaking the case of the verb name but that hasn't made any difference. I've attached an image that I believe shows all relevant details at the time the print job is started.

I've also tried to manually initiate what the code is running by dragging the PDF file to the 'see whats printing' dialog. It appears to start the application associated with PDF files and then intiates a print job to the required printer. Screenshots of this are also attached.

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Feb 06, 2018 11:33 am
by Sasha - Tracker Dev Team
Hello Steve,

I am trying to make this one work - it worked several years ago when the sample was made. Right now it only works correctly with UseShellExecute set to true. But sadly that won't work from the process itself. From what I read the problem is in the .Net updates.

Cheers,
Alex

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Feb 06, 2018 11:52 am
by steve.thresher
Thanks for the update Alex.

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Feb 06, 2018 1:12 pm
by Sasha - Tracker Dev Team
Hello Steve,

Do you need to do this in the .Net? I've spend too much time on this and I can't seem to find the solution. You will have to continue the investigation by yourself. The problem lies somewhere in the UseShellExecute = false. You will have to find how to start a process with this parameter. The problem itself is not in our printer but in the .Net Process functionality, thus I'm afraid I can't assist further here.

Cheers,
Alex

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Feb 06, 2018 3:25 pm
by steve.thresher
I have a process that produces PDF files which works when run standalone. The problem is when the process is launched from a service, pdfsaver is started but no PDF is produced (see callstack in an earlier event). The sample you provided was your proof that PDFs can be created from a service but it doesn't work. Can you please review the earlier events as we seem to have gone off on a tangent.

Re: PDF's not Created When the Application is Launched from a Service

Posted: Thu Feb 08, 2018 1:59 pm
by Sasha - Tracker Dev Team
Hello Steve,

Have you tried debugging the service execution step by step? We don't have your code, and our .Net Process code seems to be deprecated by Microsoft (as it worked correctly 4 or 5 years ago). If you could make us a small sample - then we could try debugging this from our side.
Also, have you tried playing with service types? From what I remember - I tried different combination before this worked.
What I see in my sample is that the account type for the service process installer should be LocalSystem.

Cheers,
Alex

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Feb 20, 2018 1:57 am
by steve.thresher
Hi Alex,

It's not practical to give you the actual code due to the large number of dependencies and configuration that would be required but I have put together a sample that I believe is a fair simulation of what we're doing. The sample contains a service that just sits in a loop and attempts to spawn PrintPDF.EXE every few seconds to generate a PDF file. If you run the PrintPDF program standalone then the PDF file is created as expected. When run from the service, the PrintPDF process runs and pdfsaver6,exe is launched but no PDF is created. I've tried ticking the allow interactive services box (I also have the registry key set to allow interactive services) and also logging the service on as my windows account but still no PDF is created. I'd appreciate it if you could have a look and see if you can see the problem.

The source code expects you to have a E:\Temp folder that will contain SampleService.exe, PrintPDF.exe and will be used for the PDF output.

Thanks,
Steve Thresher.

Re: PDF's not Created When the Application is Launched from a Service

Posted: Thu Feb 22, 2018 12:38 pm
by steve.thresher
Hi Alex,

Could you please confirm if this is something you can work with?

Thanks,
Steve Thresher.

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Feb 27, 2018 2:57 pm
by steve.thresher
Any idea how much longer it will be until this issue can be progressed?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Wed Feb 28, 2018 1:18 pm
by Sasha - Tracker Dev Team
Hello Steve,

The files that you've attached contained a licence key.
There were 2 downloads already when I downloaded that file.
Please do NOT post your license information on the forums, or we will be forced to deactivate it!

I removed that attachment - please update it and reupload again so when the appropriate developer can look at this, he can download that project.

Cheers,
Alex

Re: PDF's not Created When the Application is Launched from a Service

Posted: Wed Feb 28, 2018 1:25 pm
by Tracker Supp-Stefan
Hello Steve,

I had to block the license key - as the project was downloaded twice before we noticed that you have included the key.
Please do contact us via e-mail for further instructions on how to get this sorted!

Regards,
Stefan

Re: PDF's not Created When the Application is Launched from a Service

Posted: Wed Feb 28, 2018 1:37 pm
by John - Tracker Supp
Steve,

One important restriction you should be aware of and this is made clear in our license and other area's of our documentation and web site - you cannot create an application using our SDK's which essentially provides general PDF creation for users - essentially bypassing the need for an end user license that would normally be required.

From our SDK licenses:
2. END USER APPLICATION
The Application Software developed by Licensee must be an "End User Application." An "end user application" is a specific application program that is
licensed to a person or firm for business or personal use and not with a view toward redistributing the application or any part of the application, and may be either an application that is used by Licensee internally, or an application that is commercially distributed to end users for their use. A user of an end user application may not modify or redistribute the application and may not copy it (other than for archival purposes). Licensee’s license agreement
covering the Application Software must contain restrictions prohibiting redistribution, modification and copying of the Application Software. The license rights hereunder do not apply to the development and deployment of software products such as Printer Drivers, ActiveX controls, plug-ins, authoring tools, development toolkits, compilers, operating systems and also software products where a primary or significant function is to generate or view ‘PDF’ format files (as defined by ISO Standards body’) and other file formats from 3rd party software applications not developed by the licensee,
indirectly or otherwise, - such as Microsoft’s ‘Office’ suite and component applications other than for the purpose of creating and then storing such files within a structured application for the archival and management of documents, that is developed by the licensee and any other software not
falling within the definition of an end user application. If Licensee wishes to develop a product outside the scope of this license, Licensee should contact TRACKER’S OEM Sales department to see if a special license is available.
So it may well be you are encountering intended consequences of prohibited product use.

Please describe what your application is intended to achieve and what 3rd party applications your product is interacting with so we can advise further as we will not assist you in bypassing such limitations if our use is not approved.

Thank you.

Re: PDF's not Created When the Application is Launched from a Service

Posted: Mon Mar 05, 2018 1:55 pm
by steve.thresher
I believe the two downloads were both myself. The first from checking what I had uploaded could be downloaded and the second from me checking the count increased when I downloaded the project as I was trying to work out if anyone had bothered to look at it yet.

The sample has now been modified to remove the licence key.

Our software makes use of the PDF creation to produce documentation such as Quotations, Order Acknowledgements, Invoices and, in this instance, Delivery Notes. There is no generic PDF creation capability we are simply trying to automate the process of creating the documentation at set intervals rather than requiring users to execute the programs manually.

Can we please move onto finding a solution as we already have one customer refusing to sign off on a project due to this functionality not working.

Regards,
Steve Thresher.

Re: PDF's not Created When the Application is Launched from a Service

Posted: Mon Mar 05, 2018 3:25 pm
by Tracker Supp-Stefan
Thanks Steve,

Please do get in touch with us via e-mail so that I can replace your license key (the one that is already blocked will stay that way).
As for the actual enquiry - I will see if one of my colleagues from the dev team can assist you with that!

Cheers,
Stefan

Re: PDF's not Created When the Application is Launched from a Service

Posted: Mon Mar 05, 2018 8:42 pm
by steve.thresher
Could you please tell me who to email regarding a replacement licence key?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Mar 06, 2018 10:29 am
by Tracker Supp-Stefan
Hello Steve,

Please write to sales@pdf-xchange.com with a link back to this forum topic and your order number or part of your license key - and I will issue you a replacement.

Regards,
Stefan

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Mar 06, 2018 12:51 pm
by steve.thresher
Radi has now provided me with a new licence key. Any thoughts on when the problem can be progressed.

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Mar 06, 2018 1:40 pm
by Tracker Supp-Stefan
Hi Steve,

Yes we've sorted out the licensing, as for the actual problem I have passed it to the developers in our team that can help you with that, and hope they will have some further news for you shortly!

Regards,
Stefan

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Mar 13, 2018 9:06 am
by steve.thresher
Hi,

It's been a few weeks, has any progress been made yet?

Thanks,
Steve,

Re: PDF's not Created When the Application is Launched from a Service

Posted: Mon Mar 19, 2018 11:53 am
by steve.thresher
Could someone please give me an update on how this issue is progressing?

Re: PDF's not Created When the Application is Launched from a Service

Posted: Tue Mar 20, 2018 7:17 pm
by Ivan - Tracker Software
Just tested your sample on my machine, and found two issues that cause the problem with printing:

1. When you finish spooling document, you have to wait for the document being generated before releasing Printer object. The simplest way to do that is to call

Code: Select all

 pPrinter6->WaitForPrintEvent(PXC6::event_DocumentSaved, 5000); 
after DeleteDC(hDC). 5000 is a timeout in milliseconds, you can use a different value.

2. The second issue is the driver (pdfSaver issue) - when Save.Path is not specified Path.File is ignored. By default Save.Path is resolved to MyDocument, which is not available under service. I will fix that issue in V7, but V6 is not supported anymore. But there is simple 'fix' for that - specify any path to the Save.Path, say, E:\Temp, as it will not be used until Save.File contains full file name.

HTH

Re: PDF's not Created When the Application is Launched from a Service

Posted: Thu Mar 22, 2018 4:14 pm
by steve.thresher
Hi Ivan,

Thankyou very much for the workaround. I've modified the production code and I'm now getting documents produced when the program is launched by a service.

Kind Regards,
Steve.