This content has been archived. It may no longer be relevant.
Users in a terminal services environment are reporting a script error, res://ieframe.dll/preview.js, when they attempt to print email in Outlook 2003 after installing Internet Explorer 9. This is due to a problem printing to a non-redirected printer. There are three possible solutions: set a registry to key to force all printouts to RTF format, print messages as plain text, or create a Fonts folder under the Windows directory. Of course, rolling back to IE8 will solve the problem too.
Cause
Paul Adams [MSFT] full explanation is here: Script error ‘res://ieframe.dll/preview.js’ trying to print from Outlook 2003 in a RS/RDS session with IE9 installed
Short version:
This is caused by the process trying to open a folder that does not exist. This is why creating the missing folder at %HOMEDRIVE%%HOMEPATH%\Windows\Fonts works. (For most users the folder is C:\Users\%USERNAME%\Windows\Fonts.)
Why does this only happen when IE9 is installed? Because there is a design change in how IE9 invokes printing APIs in the OS. Applications (including Outlook 2003) that are not "Terminal Service aware" will have their API calls are marked as such, which leads to an incorrect code path being followed when trying to enumerate the path to the fonts folder. If the application is marked as TS aware, then the system fonts folder is used (%SYSTEMROOT%\Fonts) and printing works.
A note worth repeating: this is not the root cause of all scripting errors. It is just one specific symptom tied directly to the presence of an IE version after 8.0, and only in Terminal server/remote desktop scenarios.
Two of the solutions will need to be implemented by the administrator. The first solution, printing in plain text, will work for all end-users.
Solution 1: Print in Plain Text Format.
If you need to print most messages, set Outlook to read all mail as plain text in Tools > Options > Preferences > Email Options. Enable the option to Read All Standard Mail in Plain Text.
With this option enabled, all mail is rendered in plain text format. You can switch an HTML message to render as HTML by clicking in the Infobar.
If printing is a "now and again" thing, drag the message (or a copy) to the Junk Mail folder, then print from the Junk folder. If you moved the message, remember to move it back to the Inbox when you are finished printing.
Solution 2: Force RTF Printing
You can add the Force RTF Printing value to the registry:
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Printing
DWORD: Force RTF Printing
Data Value: 1
Note that with this value set, the print out results may be varied. Expect double line spacing, images that don't print, and totally scrambled print outs.
Use the plain text print solution for best results.
Solution 3: A new Fonts folder
Create a Fonts folder inside the virtual Windows directory (%username%\Windows\Fonts). You don't have to do anything else- the folder can remain empty. While this is the easiest and possibly the best solution, it may not work for everyone.
Ran into this after updating to IE10 on TS 2008R2 with Office 2003. Found this solution while searching, amongst other similar results, and option 1 and 2 are not really an option. While upgrading office 2003 to 2007 seems a proper alternative, it was indeed the creation via GPO of the fonts folder that did the trick (unless I hear otherwise in the next 24 hours :) ) Thank you for publishing. Saved me alot of headache and testing with Office 2007, for which I did not have time at this very moment.