Solved

ReportToPDF & Terminal Server

Posted on 2007-12-03
13
357 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
  • 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
 
LVL 57
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
Shouldn't all users have the same email signature?

You wouldn't let your users design their own business cards, would you? So, why do you let them design their own email signatures? Think of the damage they could be doing to your brand reputation! Choose the easy way to manage set up and add email signatures for all users.

 
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 57
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

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Most if not all databases provide tools to filter data; even simple mail-merge programs might offer basic filtering capabilities. This is so important that, although Access has many built-in features to help the user in this task, developers often n…
I see at least one EE question a week that pertains to using temporary tables in MS Access.  But surprisingly, I was unable to find a single article devoted solely to this topic. I don’t intend to describe all of the uses of temporary tables in t…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

760 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now