on ‎2008 Aug 04 1:17 AM
I have created a code to export the report to excel and it works.. but when i use the export property of the crystal report viewer, all file format works except for the excel format and I am receiving this kind of message whenever I tried using export property of the crystal report viewer..
"Error in File rpt017 {4742A80B-0356-499C-9B57-BE59A69BD788}.rpt: Invalid export DLL or export format."
any idea? someone?
Request clarification before answering.
I'm sorry if I'm not adding anything new to this thread, but I'd really like to have an answer on this topic. Please, check my last comment.
Resuming, is there any difference in CR execution when it runs in a web application in the situations:
1. Web App running via ASP.NET Development Server (e.g. pressing F5 in VS2005).
2. Web App running via IIS (e.g. accessing a virtual directory).
It seems to be, as in the first case I'm able to export to XLS, but in the second I'm not.
Note that I have this issue for months (it was been supported in the past Business Object's case-management support with no success and now moved to this thread) and I'm facing some customer unsatisfaction in CR due to this problem.
We are now presented with the possibility of giving up CR and develop a XSLT solution, producing a xml file in the Excel schema (that's what we used to do before we moved to CR). I'd like to maintain the CR solution, but I'll need your help on that.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Well, as has been mentioned several times in this post, this appears to be a permission issue of some sort. To move this forward, we need someone to run either filemon, or regmon or processmon. All three of the utilities can be downloaded from here:
http://technet.microsoft.com/en-ca/sysinternals/0e18b180-9b7a-4c49-8120-c47c5a693683.aspx
Once you have the log from one of the utilities above, look for "access denied", "file not found" or any other error messages.
Ludek
And we had ran Filemon, Process Monitor many times and we stored and analyzed the logs.
The problem is that in a single access to an web app containing CR, there are thousands of entries generated. And there are many with errors: NAME NOT FOUND, BUFFER OVERFLOW (Process Monitor) or NOT FOUND, NO SUCH FILE, NO MORE FILES (File Monitor) and so on.
We found only one situation of ACCESS DENIED, to a registry entry. We gave Everyone permission to that registry entry. In subsequent registry monitor logging, the error disappeared from the log, but the CR excel continued not exporting.
I have the logs here zipped, already with some obvious stuff cut out. There are rougly about 100 to 200 lines with errors in each file. If you want me to send them to you, please provide me with an e-mail.
Note that I attached other log files in the Case Management (when they were working) and Business Object's technical people were unable to find anything useful.
If there is a permissions issue, what about to just list the permission configurations we should set in order to CR to work?
Edited by: Paulo Nicau on Sep 3, 2008 5:05 PM
Hi Ludek,
Yes, you're right, in Cassini web server (or ASP.NET Development Server), it runs under the currently logged on useru2019s permissions, and in IIS as the Network Service.
I tried your suggestion:
- I elevated IIS to the Local System (a popup appeared warning on the security issues of that action and I said "ok").
- I did an IIS Restart just to be sure the setting is enforced.
Then I accessed the URL with the Web App containing the CR excel. Same error occured.
I also tried to add the IIS user to the Administrators group. Same problem.
OK going by what Angelo, who originated this thread, did as part of his troubleshooting:
1) Can you create a simple win app that just loads a saved data report and see if this runs on the server?
2) If it does, create a new simple web app. Same as above, load and run a saved data report.
3) Create a web app, that exports a saved data report to xls using the below code:
crDiskFileDestinationOptions.DiskFileName = ExportPath + "Excel.xls";
'set the required report ExportOptions properties
With crReportDocument.ExportOptions
.ExportDestinationType = ExportDestinationType.DiskFile
.ExportFormatType = ExportFormatType.Excel
.DestinationOptions = crDiskFileDestinationOptions
End With
What happens with each of the above?
Ludek
Hi, Ludek!
Thank you for your continuous support.
Before answering you let me add something I just found apart: the error occurs if I set ExportFormatType to: Excel, ExcelReport, RichText and WordForWindows. And the export is done with success if I set it to: Text, TabSeperatedText, PortableDocFormat. I ignored the other options.
There is some correlation... Excel, RichText and WordForWindows are Microsoft-specific formats, aren't?
And PDF and Text are non-MS as far as I know. Maybe the non-working formats are acessing a MS-specific part of the system not accessible to CR or IIS, or whatever.
Just to see if that information gives you some important clue.
Now I'll have a look in your suggestions.
Couple of things do come to mind:
1) Check the CR win32_x86 directory (c:\Program Files\Business Objects\Business Objects Enterprise 12.0\win32_x86 ) for crxf_xls.dll, crxf_rtf.dll and crxf_doc.dll
2) Check to make sure that the CR assemblies being referenced in your .NET project are 12.0.2000.0
3) Can you clip and paste in here the code used as it relates to CR?
Ludek
Clarifying...
Hi all. There is a lot of info in this thread and from what I see you are using CR 2008 with IIS 5 and possibly Windows 2000 as the WEB/App server.
CR 2008 is not supported on Windows 2000 nor does it support IIS 5 which I assume you are using Windows 2000 because you mentioned IIS 5. There will be backward compatability issues using older technologies.
Here's a link to the platforms for CR 2008.
I also suggest you google IIS 5 issues with .NET and ASP, lots of info and issue others have run into.
Please confirm what OS and IIS versions you are using?
Hi Ludek!
Here come the answers. I'm sorry for my delay, I have a couple of concurrent issues to solve here in the customer.
1) Check the CR win32_x86 directory (c:\Program Files\Business Objects\Business Objects Enterprise 12.0\win32_x86 ) for crxf_xls.dll, crxf_rtf.dll and crxf_doc.dll
A: yes, I navigated to that folder and only crxf.xls.dll and crxf_rtf.dll are there. Instead of crxf_doc.dll, there is a crxf_wordw.dll... isn't it the same?
2) Check to make sure that the CR assemblies being referenced in your .NET project are 12.0.2000.0
A:
Here are the referenced files and versions in the project. As you can see, not all are 12.0.2000.0, but those that aren't, they are still 12.0.*. Is that bad?
C:\Program Files\Business Objects\Common\4.0\managed\dotnet2\CrystalDecisions.CrystalReports.Engine.dll
Version: 12.0.2000.0
C:\Program Files\Business Objects\Common\4.0\managed\dotnet2\CrystalDecisions.CrystalReports.Engine.dll
Version: 12.0.2000.0
C:\Program Files\Business Objects\Common\4.0\managed\dotnet2\CrystalDecisions.CrystalReports.Engine.dll
Version: 12.0.1100.0
C:\Program Files\Business Objects\Common\4.0\managed\dotnet2\CrystalDecisions.CrystalReports.Engine.dll
Version: 12.0.1100.0
C:\Program Files\Business Objects\Common\4.0\managed\dotnet2\CrystalDecisions.CrystalReports.Engine.dll
Version: 12.0.2000.0
C:\Program Files\Business Objects\Common\4.0\managed\dotnet2\CrystalDecisions.CrystalReports.Engine.dll
Version: 12.0.2000.0
C:\Program Files\Business Objects\Common\4.0\managed\dotnet2\CrystalDecisions.CrystalReports.Engine.dll
Version: 12.0.2000.0
3) Can you clip and paste in here the code used as it relates to CR?
A:
Response.ClearContent()
Response.ClearHeaders()
Response.ContentType = "application/excel"
Me.MyReport.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.Excel, Response, AsAttachment, Me.ExportFileName)
Response.Flush()
Response.Close()
From 1) and 2) answers it seemed that something was not as you expected. I'll wait to hear your
considerations about that.
Uh-oh. It seems I spoiled the answer 2) with a bad copy-paste.
Let me correct the answer:
2) Check to make sure that the CR assemblies being referenced in your .NET project are 12.0.2000.0
A:
Here are the referenced files and versions in the project. As you can see, not all are 12.0.2000.0, but those that aren't, they are still 12.0.*. Is that bad?
C:\Program Files\Business Objects\Common\4.0\managed\dotnet2\CrystalDecisions.CrystalReports.Engine.dll
Version: 12.0.2000.0
C:\Program Files\Business Objects\Common\4.0\managed\dotnet2\CrystalDecisions.Data.AdoDotNetInterop.dll
Version: 12.0.2000.0
C:\Program Files\Business Objects\Common\4.0\managed\CrystalDecisions.Enterprise.Framework.dll
Version: 12.0.1100.0
C:\Program Files\Business Objects\Common\4.0\managed\CrystalDecisions.Enterprise.InfoStore.dll
Version: 12.0.1100.0
C:\Program Files\Business Objects\Common\4.0\managed\dotnet2\CrystalDecisions.ReportSource.dll
Version: 12.0.2000.0
C:\Program Files\Business Objects\Common\4.0\managed\dotnet2\CrystalDecisions.Shared.dll
Version: 12.0.2000.0
C:\Program Files\Business Objects\Common\4.0\managed\dotnet2\CrystalDecisions.Web.dll
Version: 12.0.2000.0
I hav'nt solved this yet..
but to add up information, as i've downloaded the modules application from sap, and run it on the different machine, this is what I've find out..
On the Application that I've created where exporting runs smoothly..
1) all CR related dll's are running on WEBDEV.WEBSERVER.EXE and DEVENV.EXE
2)INTEROP.CRYSTALREPORTVIEWEREXPORT.DLL is running.
On the Old Application that I've created where some export formats don't run
1) all CR related dll's are running on ASPNET_WP.EXE and DEVENV.EXE
2) INTEROP.CRYSTALREPORTVIEWEREXPORT.DLL is not running.
hope this would be a challenge to all of you using Crystal Reports..:D please Help..:D thanks a ton..:D
please disregard my last post.. problem solved..
pease add this to your reference.. exportmodeller.dll
and add this on your web.config file
<add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.Enterprise.InfoStore, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.Enterprise.Framework, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.CrystalReports.Design, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportAppServer.CommLayer, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportAppServer.Controllers, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportAppServer.CubeDefModel, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportAppServer.DataDefModel, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportAppServer.DataSetConversion, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportAppServer.ReportDefModel, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportAppServer.XmlSerialize, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.Enterprise.PluginManager, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>thanks for everyone who participated..:D
Hello Angelo,
Thank you for your feedback.
I'm glad you were able to solve the problem, but unfortunately I continue with mine.
The solution you presented did not solve my problem:
1. I searched for the "exportmodeller.dll" file and found it in
C:\Program Files\Business Objects\BusinessObjects Enterprise 12.0\win32_x86
(hope it's the correct location).
2. I added a reference to my CR project it in VS2005 usgin the Add Reference dialog. It created a "EXPORTMODELLERLib" entry in the Solution Explorer -> References. I also noticed that a "Interop.EXPORTMODELLERLib.dll" file appeared in the bin folder.
3. I compiled the solution.
4. I copy-pasted the web.config keys and values you listed, in my web.config (configuration -> system.web -> compilation -> assemblies).
Then I tested and I had the same error than before. I also repeated the tests after an IIS reboot and it was the same. Now I wonder if I should remove the extra stuff I added, or simply let it there.
Fact is, I don't need that stuff in the web.config nor that reference to be able to export to PDF (and exporting to XLS gives the same error).
(I would like to suggest you to be a little more specific when reporting, describing the paths of the files and web.config places where things are supposed to be placed or found, as this will help those who are unfamiliar with the objects).
Hi, Ludek!
I wonder if last comments from Angelo and my reply to him added too many posts to the end of the thread that my answers were obfuscated and lost in trail.
I would like to hear from you about the answers I provided on last the questions you made me. Answers were made in the post I wrote in Sep 9, 2008 12:19 PM (see also the following post correcting some details).
Thank you for your attention.
try downloading this file.. https://smpdl.sap-ag.de/~sapidp/012002523100006252802008E/modules.zip
this application will show you all the dll files running on your application.. If you did'nt find exportmodeller.dll on the application, you have to find a way how to add that.. on my case I just did what you have done, adding reference exportmodeller.dll and added the assemblies on the web.config and it works.. in your case, may be there's a problem on referencing the dll on your application..
Hello, Angelo!
I downloaded the Modules program in the link ou provided.
I opened the zip file and I read the PDF "How to use Modules (...)".
I followed the steps to use Modules on the computer where the error occurs.
- Opened the program.
- Reproduced the error.
Then I stoped here and searched by the "exportmodeller.dll". In the w3wp.exe process, I found the Interop.ExportModellerLib.dll file associated.
So it is not happening what you gave as hipotesis (the exportmodeler.dll file not being found associated to the process running CR, that in my case is the w3wp.exe, as it is a CR embeeded in a web application).
How can I find or recognize any problem in referencing a dll in an aplication? As far as I see, everything seems ok: the reference is on the project, the file is copied to the bin path and the Modules correctly identify it as present. Note that the inclusion of the DLL doesn't affect the appearing of the error.
I can't use Modules further, as I don't have a "working case". It doesn't work in ALL machines I've tested (until now, 5 different machines with different operative systems). The only situation where it works is when I run the web application via VS2005 Cassini server.
now that's the problem.. the system must read it as exportmodeller.dll not as Interop.exportmodeller.dll... I'll post the solution once I find out why the system read it as an interop..
my hypothesis is not wrong.. THE SYSTEM NEEDS EXPORTMODELLER.DLL not INTEROP.EXPORTMODELLERLIB.dll..
I did the same thing as what you did and also got an interop.exportmodellerlib.dll on my application bin.. but when i run the module, the system reads it as exportmodeller.dll not as an interop.exportmodellerlib.. I don't know why your application read it as an interop and that's what you need to find out..
modules helps you to locate the missing dll not to help you fix instantly the missing dll..
I can prove to you that every cr2008 reports needs an exportmodeller.dll if you want..
Aah!
I misunderstood you. I thought that you was abbreviating the name, skipping the "Interop." part of the name.
So, there are 2 different things,
1. EXPORTMODELLER.DLL
2. INTEROP.EXPORTMODELLERLIB.dll.
The first one is not appearing in the Modules output. The second is.
I will try to find why my reference is appearing as Interop.*, but I think I will fail on that. I'm not that experienced in these fields. I will give a try, maybe trying to reference another file with the same name after a more deep search.
Well, I have been trying to add and remove the reference in the project.
When I add the reference, it appears "EXPORTMODELLERLib" in the References folder.
When I click on it to see the Properties window of the object, I have these details:
Name: Interop.EXPORTMODELEERLib.
Copy Local: True
Culture: 0
Description: ExportModeller Library 12.0
File Type: ActiveX
Identity: {A7EB61FA-5AF4-432B-B455-1BED703153BE}\c.0\0\tlbimp
Isolated: False
Resolved: True
Strong Name: False
Version: 12.0.0.0
I'm only able to alter the properties "Copy Local" and "Isolated".
Suggestions?
| User | Count |
|---|---|
| 7 | |
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 3 | |
| 3 | |
| 3 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.