Troubleshoot
1. External IP addresses cannot run reports
Check the Server error log. If you see 500 errors there is a chance that the server request (which is made within the iis process) is not allowed and so is returning 500 errors.
To resolve this open the web.config file and set the CRMCodedPath setting to be something like "http://servername/CRM/". (Note: you may need to add this setting)
For example
<add key="CRMCodedPath" value="http://localhost/crm/"/>
One message you might see that shows this is when you use https
Message: Exception Msg: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
2. NT Authenication Error
Depending on the IIS setup you may need to add in a windows users details to the web.config file. This usually occurs when IIS requires authentication.
Set the following values to be a relevenat user. It is best to ensure that the users password does not expire.
<add key="CRMNetworkUser" value=""/> <add key="CRMNetworkUserPassword" value=""/> <add key="CRMNetworkDomain" value=""/> //CRMNetworkUserAuthType value options are "Basic" or "Digest" <add key="CRMNetworkUserAuthType" value="" />
(Note: you may need to add these settings)
3.Images/Graphs Not appearing in Reports
On the server the image is created in a temp folder E.G.
C:\Windows\Temp\cr_tmp_image__CRM71_CustomPages_CRViewer_server_serverport
But deleted immediately once it has been downloaded.
You need to check permissions on this folder
If you continue to have issues check the IIS log file.
The location of the IIS log files can be located in IIS.
Next in IIS
- Click on 'Handler Mappings'
- On the right side under 'Actions' I selected 'Add Managed Handler'
- Request Path: 'CrystalImageHandler.aspx'
- Type: 'CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304'
- Enter Name as 'Crystal Reports Image Handler'
- Press OK
4. Button Groups
Crystal Manager creates button groups in the system.
If you are running Sage 300 (Accpac) integration then this new button group may override existing groups.
To resolve delete the empty button group.
5. Windows Authentication
Within the Crystal Manager folder (CustomPages/CRViewer) in IIS click on the "Authentication" button.
If you see "Windows Authentication" enabled, disable this.
6. Wrong web.config file being used
Depending on the IIS configuration sometimes it can use the parent web.config file.
If you can delete or rename the parent web.config file.
Otherwise an unverified fix is as follows:
The attribute inheritInChildApplications must be placed in the <configuration> section of the web.config.
It looks like this:
<configuration> <location inheritInChildApplications="false"> ... </location> ....
7. System.Web.Compilation
You get a compilation error after some time. This is a Trust Level issue. Check the user that the w3svc process is running under.
For IIS 6 look at
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/1f7959af-2eac-4418-91a3-56006ea6eb07.mspx?mfr=true
and
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/a55fb31b-5b42-476d-9cae-050ab3fae307.mspx?mfr=true
For IIS 7 look at
http://technet.microsoft.com/en-us/library/cc753658%28v=ws.10%29.aspx
8. Invalid field name
Error when adding new report
Source: Analysis Server
Message: Invalid field name. sample report {F91D3E21-5DDB-45D0-8826-8E7CFA07C233}.rpt
Stack trace: at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
The issue is that there is a static parameter that needs to have the "Show on viewer" option changed from "Editable" to "Do not show"
9. Move CR Viewer into its own application pool
In some instances this can make sense to do. There is a change in the "CRReportsListUser" list though that needs to be applied.
In this list the field "Description" links to the "CRViewer/Prompt.asp" (Custom File setting) page. The ASP page cannot live outside of CRM however. You need to move the prompt.asp page to the CustomPages folder and change the Custom File value to be just "Prompt.asp".
If you do not do this you will see an error on the screen
Not licensed or not registered correctly In IIS check the application pool that your custom site is running in and make sure it is the same application pool as CRM.
Within the prompt.asp page also you would have to change line 62 from
document.EntryForm.action="Default.aspx?crre_crreportsid=<%=Request.QueryString('crre_crreportsid')%>&SID=<%=Request.QueryString('SID')%>";
to be
document.EntryForm.action="CRViewer/Default.aspx?crre_crreportsid=<%=Request.QueryString('crre_crreportsid')%>&SID=<%=Request.QueryString('SID')%>";
10. Report load slow
If the report is slow to load you may need to edit the report (.rpt) file itself and turn of the default printer.
To do this open the report and select "File" -> "Page Setup".
From the dialog that opens check the "No Printer" otion.
Click the "Ok" buttons and save the report.
11. Bobj is undefined
Issue: Missing (or inaccessible) “crystalreportviewers13″ folder in the C:\inetpub\wwwroot\aspnet_client\system_web\2_0_50727.
Fix : Copy the entire ‘crystalreportviewers13′ from crystal report installed path. “D:\Program Files\Common\4.0″ to C:\inetpub\..
Enable access to the aspnet_client folder in IIS ****ENSURE THAT THE FOLDER IS ENABLED AS AN ASP.NET APPLICATION AND THAT THE APPLICATION POOL IS THE SAME AS CRM'S
This is helps in resolving the issue of accessing the crystal reports from the web application outside the network.
Quick check list for this issue:
1. Check CR is installed correctly. Delete all CR folders after un-installation. Especially under IIS. (C:\inetpub\wwwroot)
2. Install complete version of CR’s.
3. Check whether CR web site is created under IIS.
4. Check for missing folder C:\inetpub\wwwroot\aspnet_client\system_web\2_0_50727
5. Under Application Pools – Enable 32 Bit applications to TRUE (if it is integrated mode)
Ref: http://gisprog.wordpress.com/2012/03/19/report/
If this is still unresolved we recommend using a http sniffer tool like fiddler to help diagnose the issue (you will see 404 or 500 errors usually which highlight where the problem is)
- HTTP Error 500.23 - Internal Server Error
An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.
You may need to put the follow entry in your Web.config
<system.webServer> <validation validateIntegratedModeConfiguration="false" /> </system.webServer>
12. Could not load file or Assembly...
When first trying to use the system you see this error
This is caused by the IIS application pool not having "Enable 32-Bit Applications" enabled. Set this to be True (you may need to restart the application pool and/or IIS)
13. The table .... could not be found. Error in File ....
If you see this issue check the SQL SA user is not locked out.
This can happen if the "Enforce password policy" checkbox is checked.
Un-check this and unlock the user in SQL Enterprise Manager to resolve.
14. Reports not opening (hanging) -
Check is Crystal itself is installed and whether it is registered. If not a register dialog may appear and this seems to affect the running of the reports.
If you cannot register you need to uninstall Crystal from the server.
15. 404 pages appearing
This can be caused by upgrading Sage CRM (a patch even). In some instances IIS is reset to now allow ASP.Net by the patch. To resolve follow these steps:
If you go to "Internet Information Services Manager" on your server you should see your "Web Sites" folder as well as a "Web Service Extensions" folder. In that folder there are some services listed there (depending on what you have installed) and you should have "ASP.NET v2.0.50215" listed. Make sure the service is set to "Allow".
Ref: http://forums.asp.net/t/894724.aspx/1
16. Random hanging when running reports
In the registry key (on the server) edit
HKEY_LOCAL_MACHINE\SOFTWARE\Crystal Decisions\10.2\Report Application Server\Server\PrintJobLimit
and change it (from 75) to -1
HKEY_LOCAL_MACHINE/SOftware/Crystal Decisions/Report Application Server/InprocServer/ReportDocument
Change the value of the field MaxNumOfRecords to -1(For Unlimited No. of records)
- Note that the location of the key in the registry may vary depending on how SAP change things.
Notes from our partners Kastech Consulting Inc http://www.kastechco.com/
Kastech saw sporadic complus errors in the event log which lead to this solution.
The following registry key can be tweaked to increase the amount of desktop heap. Please double the second and third numeric values, so the SharedSection numbers look like this: sharedSection =1024,6144,1024 as a test.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows\ SharedSection=1024,3072,512
The first SharedSection value (1024) is the shared heap size common to all desktops. This includes the global handle table, which holds handles to windows, menus, icons, cursors, and so forth, and shared system settings. It is unlikely that you would ever need to change this value.
The second SharedSection value (3072) is the size of the desktop heap for each desktop that is associated with the "interactive" window station <WinSta0>. User objects like hooks, menus, strings, and windows consume memory in this desktop heap. It is unlikely that you would ever need to change this second SharedSection value. Each desktop that is created in the interactive window station uses the default 3072-KB desktop heap.
The third SharedSection value (512) is the size of the desktop heap for each desktop that is associated with a "noninteractive" window station. If this value is not present, the size of the desktop heap for noninteractive window stations will be same as the size specified for interactive window stations (the second SharedSection value).
17. Retrieving the COM class factory...
To resolve you need to restart IIS as this instance does not seem to be picking up the newly installed run time.
18. Invalid TLV record
This happens if you try run the sage crystal reports integration after installing the SAP runtime (that ships with Crystal Manager)
This is because the runtime updates crqe.dll - So both the classic and crystal manager cannot be supported on the one server.
19. The server committed a protocol violation
Add the following to your web.config file (just under the configuration element)
<system.net> <settings> <httpWebRequest useUnsafeHeaderParsing="true" /> </settings> </system.net>
20. Request Timeout
On slower servers you could see a server timeout. To increase this set the 'executionTimeout="300"' atrribute in the web.config httpRuntime node
<httpRuntime maxRequestLength="1048576" requestValidationMode="2.0" executionTimeout="300" />
21. 404 on ASP.Net pages
ASP.net is not installed or not installed correctly. To install run the following from the command line (run as admin)
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
In windows server 2012 you may need to do the following
22. Maximum request length exceeded
Ref: http://stackoverflow.com/questions/3853767/maximum-request-length-exceeded
If you are using IIS for hosting your application, then the default upload file size if 4MB. To increase it, please use this below section in your web.config -
<configuration> <system.web> <httpRuntime maxRequestLength="1048576" /> </system.web> </configuration>
For IIS7 and above, you also need to add the lines below:
<system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="1073741824" /> </requestFiltering> </security> </system.webServer>
Note: maxAllowedContentLength is measured in bytes while maxRequestLength is measured in kilobytes, which is why the values differ in this config example. (Both are equivalent to 1 GB.)
23. Setup IIS error reporting
By default IIS will only report a generic 500 error. In terms of troubleshooting this is next to useless. We must configure IIS to report out the problem. We do this as follows:
Open IIS
Navigate to the folder/application you are using (in our example we use the CRViewer)
Click on ASP to open this option
Expand the options and set the "Send Errors to Browser to be true"
Next select the folder/application again in IIS
Select the Error Pages option
On the right hand side of the screen we have "Edit Feature Settings" - select this
On the dialog select the "Detailed Errors" option
Now in the browser you should start seeing any errors.
24. 500 error: Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list.
This is because ASP.Net was not completely installed with IIS even though I checked that box in the "Add Feature" dialog. To fix this simply run the following command at the command prompt
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
If I had been on a 32 bit system, it would have looked like the following:
%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
Fix found via ref: http://stackoverflow.com/questions/6846544/how-to-fix-handler-pagehandlerfactory-integrated-has-a-bad-module-managedpip
SAP Crystal Reports, developer version for Microsoft Visual Studio: Updates & Runtime Downloads
Ref: http://scn.sap.com/docs/DOC-7824
Parser Error
Within IIS convert the CRViewer folder to an application
Low level debugging
Get the url of the report (from the browser when you open the report).
EG
http://crm.servername.com/CRMDemo/CustomPages/CRViewer/Default.aspx?SID=123455666645&Key0=71&Key1=28&Key2=30&Key4=1&Key7=6&Key71=2&F=CRViewer/NewWindow.aspx&J=CRViewer/Default.aspxrptid=6005&btnid=6000&SID=123455666645&Key0=71&Key1=28&Key2=30&Key4=1&Key7=6&Key71=2&J=CRViewer%2fNewWindow.aspx&rptid=6005
Change the url by adding on "&tmpdbg=Y" to the url
EG
http://crm.servername.com/CRMDemo/CustomPages/CRViewer/Default.aspx?SID=123455666645&Key0=71&Key1=28&Key2=30&Key4=1&Key7=6&Key71=2&F=CRViewer/NewWindow.aspx&J=CRViewer/Default.aspxrptid=6005&btnid=6000&SID=123455666645&Key0=71&Key1=28&Key2=30&Key4=1&Key7=6&Key71=2&J=CRViewer%2fNewWindow.aspx&rptid=6005&tmpdbg=Y
This will out put data (something like below)
start Page Load Tab Group set up Reading Request.QueryString[rptid] Report Id (from rptid):6005 getting report record
EVENT Logging
Within the web.config file set to "ApplicationEventLog" to True to turn on
<add key="ApplicationEventLog" value="True"/>
- Permissions are required to create the logs so assuming the IIS user does not have permission we...
Go to registry editor (regedit), locate key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application
and create a new key with the source name "CRMTogetherCRViewer2" You may need to add a string type to the key (change the .Net version number as required)
EventMessageFile=C:\Windows\Microsoft.NET\Framework\v4.0.30319\EventLogMessages.dll
Not registered or not licensed correctly
In IIS check the application pool that your custom site is running in and make sure it is in the same application pool as CRM
- this is a CRM error (and not a license error in Crystal Manager
To resolve this open IIS and check the application pool for CustomPage/CRViewer is the same as CRM
If not click select to change
Useful links:
Configure Crystal Reports 2008 for ASP.NET on IIS Ref: http://blog.aaziz.org/configure-crystal-reports-2008-for-aspnet-on-iis
Crystal report images in toolbar not displaying and export/print functionality not working in asp.net Ref: http://www.aspdotnet-suresh.com/2012/01/crystal-report-images-in-toolbar-not.html
Update to .Net4.5 (and later) on server breaks system
To fix this open IIS 'aspnet_client\system_web' folder and create a folder with the .net version you now have (you may need to check the version)
To find .NET Framework versions by viewing the registry (.NET Framework 1-4) On the Start menu, choose Run. In the Open box, enter regedit.exe. You must have administrative credentials to run regedit.exe. In the Registry Editor, open the following subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP.
Then copy the crystalreportsviewers13 folder into this new folder