Security Issue in Crystal Reports XI Release 2 on Terminal Services ?

  • Thread starter Frederic Hoornaert
  • Start date
F

Frederic Hoornaert

Hi,

I'm having a problem with Crystal Reports XI Release 2 running on Terminal
Services.
When invoking the Crystal Reports method ReportDocument.Load(file), an
COMException is thrown.

System.Runtime.InteropServices.COMException (0x80004005): The system cannot
find the path specified.

See exception detail below.
The path which cannot be found isn't the path to the report document,
because this is a valid path (the file can be opened in notepad).
So the invalid path must be a Crystal Reports DLL are something else.

We have 2 Terminal Server's.
On the first one, Crystal Reports has been installed using the Crystal
Reports CD, and the application runs fine on that one.
On the second one, we've only installed the runtimes using the merge
modules, and here we have the COMException.
We didn't want to install the complete CD on this server, since it's
overkill ...

The installer with the merge modules causes no problem on a standalone PC or
on a traditional client-server installation, so this shouldn't be the
problem either.

I've already found other users complaining about this problem, but I haven't
found a solution yet.
Is this a security issue ? Anybody knows a workaround or a fix to this
problem ?

Kind regards,
Frederic Hoornaert

Exception Detail:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Exception: Het laden van het rapport is mislukt. --->
System.Runtime.InteropServices.COMException (0x80004005): The system cannot
find the path specified.

at
CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object&
DocumentPath, Int32 Options)
at
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object&
DocumentPath, Int32 Options)
at
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
--- End of inner exception stack trace ---
at
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String
filename, OpenReportMethod openMethod, Int16 parentJob)
at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String
filename)
at CrystalLibrary.CrystalHelper.CreateReportDocument(String reportFile)
in C:\Documents and Settings\Frederic\My Documents\Visual Studio
2005\Projects\CrystalHelper\CrystalHelper_demo\CrystalHelper\CrystalHelper.cs:line
289
at CrystalLibrary.CrystalHelper..ctor(String reportFile, String
serverName, String databaseName, String userId, String userPassword) in
C:\Documents and Settings\Frederic\My Documents\Visual Studio
2005\Projects\CrystalHelper\CrystalHelper_demo\CrystalHelper\CrystalHelper.cs:line
369
at TranslateCrystalReports.Form1.button1_Click(Object sender, EventArgs
e) in C:\Documents and Settings\Frederic\My Documents\Visual Studio
2005\Projects\CrystalHelper\CrystalHelper_demo\TranslateCrystalReports\Form1.cs:line
27
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)
 
F

Frederic Hoornaert

Hi,

I just want to let you all know I've found the solution to the problem.
Our server is also running Citrix, so we applied the recommended
configuration, naming the system drives M: & N: instead of C: & D:
Allthough Crystal Reports is running just fine in the Citrix sessions, it
produces the COMException in a Terminal Server session.
Someone mentioned in another thread that Crystal Reports needs a C: drive
(for whatever reason).
So we added a "SUBST C: M:\ " in the login script for the terminal server
sessions.
This way, all connected users do have a C: drive, and Crystal Reports runs
fine now on the server.

Kind regards,
Frederic Hoornaert
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top