Solved

ReportToPDF & Terminal Server

Posted on 2007-12-03
13
369 Views
Last Modified: 2013-11-21
This took me just short of forever to figure out what my real problem actually is.  I have a microsoft access database using the ReportToPDF function found at http://www.lebans.com/reporttopdf.htm.  It turns access snapshot reports into PDFs using two DLL's placed in the databse folder or system32 folder.  An amazing little program.  On my development machine, a 2003 server (without Terminal Services installed) that I use RDP to access, it works great.  Once I installed the database on my production Terminal Server, it lost the ability to embed fonts into the PDF.  To recap my hardware & software scenario,

2003 Development Server - Access 2003 Installed - Remote Access vis RDP - Works great

2003 Production Terminal Server (Terminal Services & Access Runtime Installed) - Works but with Limited Functionality/Won't Embed Fonts

Thinking it had to be some minor difference between the two machines, I checked available fonts, user permissions, compared installed programs, duplicated available printers, uninstalled programs, etc.  Nothing worked.  I finally realized it was only working on servers without Terminal Services installed.  So, something must be happening when access runtime is installed as a terminal services app because that's when I lose the ability to do it, even if I give the test account domain admin privaleges.  When runtime is installed normally, it works fine.  I even installed a full version of access 2003 as an available terminal server application and that didn't work either, so it's not just runtime, it's effecting access period.

At this point, I'm completely stumped.  I'm just looking for some suggestions or ideas on what you'd try because I don't know what to do next.  This program works so slick that I want to be able to use it, but I guess I'm open to alternative suggestions that can be coded and work without user intervention.

Thanks!

P.S. I have another question open touching on this that I asked before truly figuring out what my problem was.  If someone can provide an answer to this one, I'll give you those 500 points as well.
0
Comment
Question by:tommyboy115
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 4
  • 2
  • +1
13 Comments
 
LVL 18

Expert Comment

by:Andrew Davis
ID: 20401343
does the app work on the console. was it installed in program install mode? see http://www.sessioncomputing.com/applications.htm
0
 

Author Comment

by:tommyboy115
ID: 20401376
I've installed it both ways on two different computers.  When it's installed on the server running Terminal Services, it's installed in the terminal service's installation mode.  With 2003 runtime, the transform is built in and pretty much runs itself.  In this scenario, ReportToPDF doesn't work, or speicifically I should say embedding the fonts into the PDF doesn't work in a standard session or on the console.

When installed normally on another server, it works fine even over a RDP session, console or regular.  Access runtime being installed as a terminal services app does something to screw this up.
0
 

Author Comment

by:tommyboy115
ID: 20401384
I should add that the last comment holds true for Access 2003 runtime and a full installation.  When run, the function creates a access snapshot report, converts it to a PDF, and saves it.  Everything works in that process except the PDF's aren't embedded.
0
Free NetCrunch network monitor licenses!

Only on Experts-Exchange: Sign-up for a free-trial and we'll send you your permanent license!

Here is what you get: 30 Nodes | Unlimited Sensors | No Time Restrictions | Absolutely FREE!

Act now. This offer ends July 14, 2017.

 
LVL 58
ID: 20402155

  I'd say you need to e-mail Stephen.  Sounds like a bug and being wrapped up in .DLL's, there is no way your going to be able to figure out what it is.

JimD
0
 
LVL 31

Expert Comment

by:Cláudio Rodrigues
ID: 20402284
Does it work if you have admin rights?
Does it work if BEFORE you launch the application you open a command prompt on the TS and type CHANGE USER /INSTALL (press enter)?
To be honest the only PDF printer solution that I have seem to work perfectly on TS was DocuPrinter from http://www.neevia.com. They were also the first ones to have a 64-bit TS compatible solution.

Claudio Rodrigues
Microsoft MVP
Windows Server - Terminal Services
0
 

Author Comment

by:tommyboy115
ID: 20405639
tsmvp,

Yes, it does work if I switch to install mode.  That pretty much confirms my theory.  Does it provide any more clues as to what I'd need to do to make it work?

Thanks!
0
 
LVL 31

Expert Comment

by:Cláudio Rodrigues
ID: 20406484
For sure it does. You must set a flag in the registry for the application executable. All the flags are listed here:
http://technet2.microsoft.com/windowsserver/en/library/df78c476-00d5-41f0-a21d-e1e12e3d1f8b1033.mspx?mfr=true

These should be the relevant ones in your case:
0x00000080
Do not substitute user \Windows directory.

0x00000100
Disable registry mapping for program or registry key.

If you set these (or one of these) it should work.
Something like:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows NT\CurrentVersion\Terminal Server\ Compatibility\Applications\myapp.exe (or just myapp if with .exe does not work),
Then set the default value (DWORD value) to be 0x00000080 or 0x00000100 or 0x00000180.

Claudio Rodrigues
Microsoft MVP
Windows Server - Terminal Services
0
 

Author Comment

by:tommyboy115
ID: 20406606
Technically, my app is an Access database, so I don't think that's what you intend for me to identify in the registry as not being compatible.  The specific problem is the dynapdf.dll my function is calling.  I can't regsvr32 the .dll, so I'm not sure if it's an actual dll or just an exe in disguise.  Would I handle this this scenario in the same fashion and list the .dll in the registry as you indicated?
0
 

Author Comment

by:tommyboy115
ID: 20407690
Any thoughts?
0
 

Author Comment

by:tommyboy115
ID: 20407894
tsmvp,

While you were definitely on the right track and identified the issue, the problem is solved.  I was able to download the most recent version of the dynapdf.dll and it must have been redesigned because it now works within a terminal server.  Thanks for all the help!  So, for anyone else out there with this problem, go to http://www.dynaforms.com/, then click download, and download the demo.  Grab dynapdf.dll from C:\DynaPDF 2.0\bin and replace your existing one on the terminal server.  No other action is required.  Thanks to Stephen Lebans for recommending this potential solution.

Thanks!

P.S. Add another comment pointing to this one as a solution and I'll give you the points.
0
 
LVL 31

Accepted Solution

by:
Cláudio Rodrigues earned 500 total points
ID: 20408550
Yes, that is usually the solution. Most developers do not have TS in mind and things like that happens. That is why such flags exist. So in case you are able to get a newer version of the DLL that works with TS, that is for sure the way to go. For vendors that do not have an updated file that works out-of-the-box on TS, the flags will definitely fix the problem.

Cheers!

Claudio Rodrigues
Microsoft MVP
Windows Server - Terminal Services
0
 
LVL 58
ID: 20410760

  and like I said, a bug in the .DLL.

JimD
0
 
LVL 31

Expert Comment

by:Cláudio Rodrigues
ID: 20411606
Well it may not be a bug per se. The fact some software does not work properly under TS does not represent a bug. It may simply be the way the developer designed it.

Claudio Rodrigues
Microsoft MVP
Windows Server - Terminal Services
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
This article describes a method of delivering Word templates for use in merging Access data to Word documents, that requires no computer knowledge on the part of the recipient -- the templates are saved in table fields, and are extracted and install…
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…

691 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question