cancel
Showing results for 
Search instead for 
Did you mean: 

Problems with WPF Crystal Reports Viewer on Citrix Client

Former Member
0 Kudos
440

Hi everyone,

my customer currently uses our product on a citrix client ( as far as I know WinServer 2003). It appears that if a user tries to open an .rpt-file in the WPF Crystal Reports Viewer there is a Xerces Panic Error (unfortunatly without any more details, besides: "could not load a transcoding service"). Trying the same with an administrator account does not produce this error.

Are there any special folders a user using the viewer needs permissions to?

Do you have other ideas?

What I already tried was reviewing the keys in the registry beneath HKEY_CLASSES_ROOT\MIME\Database\Charset , but all were valid. (Found that this could make trouble...)

Thanks in advance,

Janina

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Ludek,

in that case the application has the permisson to read from HKLM\SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0, but as far as it is no admin account it has no permisson to write.

"Unfortunatly" it is no option to give all users admin permissions.

If I could determine why and what it wants to write, I may be able to disable that feature.

Janina

former_member183750
Active Contributor
0 Kudos

Hello Jenina

What I am not clear on is; if you give Admin rights (as a test), does the app work? (don't want to be chasing something that does not help)

- Ludek

Former Member
0 Kudos

Hi Ludek,

yes the application, or better the report viewer, works fine, if I give the user admin rights.

As far as it is a WinServer 2003, or something similar, the Citrix emulates I tried to run the compatibility mode for WinXP (no admin rights). With interesting (or confusing) results:

CrystalDecisions.Shared.CrystalReportsException: Bericht konnte nicht geladen werden. ---> System.Runtime.InteropServices.COMException: Fehler bei Report Application Server

   bei CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options)

   bei CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options)

   bei CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()

   --- Ende der internen Ausnahmestapelüberwachung ---

   bei CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()

   bei CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob)

   bei CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename)

   bei Tepos3.Client.Interface.User.ReportWindow.ShowReport(String inputPath)

   bei Tepos3.Client.Interface.User.WindowManager.<set_ProjectId>b__5(Object sender, ListChangedEventArgs e)

   bei System.ComponentModel.ListChangedEventHandler.Invoke(Object sender, ListChangedEventArgs e)

   bei System.ComponentModel.BindingList`1.OnListChanged(ListChangedEventArgs e)

   bei System.ComponentModel.BindingList`1.FireListChanged(ListChangedType type, Int32 index)

   bei System.ComponentModel.BindingList`1.InsertItem(Int32 index, T item)

   bei System.Collections.ObjectModel.Collection`1.Add(T item)

   bei Tepos3.Client.BusinessLogic.ReportManager.<>c__DisplayClass1e.<GenerateReportFinished>b__1c()

   bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

   bei MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

   bei System.Windows.Threading.DispatcherOperation.InvokeImpl()

   bei System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)

   bei System.Threading.ExecutionContext.runTryCode(Object userData)

   bei System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)

   bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)

   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)

   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

   bei System.Windows.Threading.DispatcherOperation.Invoke()

   bei System.Windows.Threading.Dispatcher.ProcessQueue()

   bei System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

   bei MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

   bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)

   bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

   bei MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

   bei System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)

   bei MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)

   bei MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)

   bei System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)

   bei System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)

   bei System.Windows.Window.ShowHelper(Object booleanBox)

   bei System.Windows.Window.Show()

   bei System.Windows.Window.ShowDialog()

Sorry for the long Stacktrace. I thought it is maybe of use.

This error does not occur if I do the same with an administrator account.

Any ideas what to test next?

Janina

0 Kudos

Hi Janina,

We've heard of a few issues with current versions of Citrix, best to log this with Citrix themselves, CR requires certain rights to be able to access various dependencies, ActiveX controls, default user Registry keys, etc..

I did a Google search and found this post on Citrix forum, may help you also:

http://forums.citrix.com/thread.jspa?threadID=102299

Don

Former Member
0 Kudos

Hi Don,

thanks for the link. I suppose it´s the same reason here.

But I didn´t tried the solutions provided there. We switched from the WPF Report Viewer to the free Crystal Reports Viewer 2010 and it works fine. The simplest solution usally is the best, isn´t it?

I thank you two for your effort.

Many thanks

Janina

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi there,

I got some interesting log entries. It seems that the viewer tries to create registry keys in HKLM and the user has no such permissions.

Here the entries:

Time of Day      

Process Name PID       
Operation         
Path     

Result

48:07,5
Tepos3.Client.Start.exe             
7568      RegCreateKey  HKLM\Software\SAP
BusinessObjects\Crystal Reports for .NET Framework 4.0\Report Application
Server\Client SDK       

ACCESS DENIED

48:07,5
Tepos3.Client.Start.exe             
7568      RegCreateKey  HKLM\SOFTWARE\SAP
BusinessObjects\Crystal Reports for .NET Framework 4.0\Report Application
Server\Client SDK       

ACCESS DENIED

48:07,5
Tepos3.Client.Start.exe             
7568      RegCreateKey  HKLM\Software\SAP
BusinessObjects\Crystal Reports for .NET Framework 4.0\Report Application
Server\Client
SDK\XmlSerializer         
ACCESS DENIED

48:07,5
Tepos3.Client.Start.exe              7568     

RegCreateKey 

HKLM\SOFTWARE\SAP
BusinessObjects\Crystal Reports for .NET Framework 4.0\Report Application
Server\Client
SDK\XmlSerializer         
ACCESS DENIED

48:13,9
Tepos3.Client.Start.exe              7568     

RegCreateKey 

HKLM\Software\SAP
BusinessObjects\Crystal Reports for .NET Framework 4.0    
ACCESS DENIED

48:13,9
Tepos3.Client.Start.exe              7568     

RegCreateKey 

HKLM\SOFTWARE\SAP
BusinessObjects\Crystal Reports for .NET Framework 4.0    
ACCESS DENIED

48:13,9
Tepos3.Client.Start.exe              7568     

RegCreateKey 

HKLM\Software\SAP
BusinessObjects\Crystal Reports for .NET Framework
4.0     

ACCESS DENIED

48:13,9
Tepos3.Client.Start.exe              7568     

RegCreateKey 

HKLM\SOFTWARE\SAP
BusinessObjects\Crystal Reports for .NET Framework 4.0    
ACCESS DENIED

Do you know why the viewer needs to write to the registry?

Thanks in advance

Janina

former_member183750
Active Contributor
0 Kudos

Hello Janina

I am not sure about this being the source of the problems, but if it is not, it more than likely will cause issues further down. You will have to give that app the rights to read the registry from HKLM\SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0 down.

- Ludek

Former Member
0 Kudos

Hello Ludek, Hello Don,

thanks for the replies. I'm still looking for more detailed informations and will try getting the process monitor logs.

I will inform you about any progress.

Janina

former_member183750
Active Contributor
0 Kudos

Hello Jenina

Since this app works with Admin privileges I's suspect permissions is involved (yeah, call me a genius... ). Anyhow, getting Process Monitorlogs and looking for "Access Denied" messages may be a place to start. Make sure you filter ProcMon for your app / process name as this utility tends to make rather large log files.

- Ludek

Follow us on Twitter

Got Enhancement ideas? Try the SAP Idea Place

Share Your Knowledge in SCN Topic Spaces

0 Kudos

Also, there a re a few open issues with the WPF viewer but nothing specific to Citrix. You may want to contact Microsoft and Citrix Forums to see if they know of any issues with this platform.

Don