on 04-02-2013 8:10 AM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.