cancel
Showing results for 
Search instead for 
Did you mean: 

crystal reports doesn't work IIS 10 non standard web root

former_member746751
Discoverer
0 Kudos

This is driving me nuts. I have CR Runtime 32 and 64 bit installed on Windows 2019 sever (IIS 10) Visual Studio is installed along with CR for Visual Studio. I just have a blank nothing report, just to see if I can get things working. When I run it in debug (through IIS Express / Visual Studio "run" option) I see the blank report. When I load it directly from IIS I get the following:

Retrieving the COM class factory for component with CLSID {F734A321-8381-4FFD-A614-139E8906DC83} failed due to the following error: 8007007f The specified procedure could not be found. (Exception from HRESULT: 0x8007007F)

The wwwroot is NOT in the standard location, so I'm guessing that has something to do with it. However I keep finding things that seem like they might help and they don't.

I have copied over the crystalreportsviewers13 folder to my web app. (and I see it getting referenced when I do the VS run)

I have added the resourceURi value to the web.config

I have tried enabling 32bit apps on the app pool.

I am not sure why it will run and show a report when I run it on the server via Visual Studio and NOT work being served up directly from IIS. This seriously should be install and work. I am getting very disappointed.

DellSC
Active Contributor
0 Kudos

Are you trying to run it in IIS on your development machine or on a separate server?

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

Hi Jim,

The reason you don't need to install the MSI packages on your DEV PC is because CR for VS EXE installs them, having both just complicates things when you upgrade...

All explained in my WIKI:

https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads

Also, I mentioned SP 30, but I don't see if you confirmed you are using SP 30?

SP 30 is supported in VS 2019:

  • VS 2019 - SP 25 and higher ( note - some issues reported with embedded Report Designer )
  • VS 2019 - SP 26 and higher ( issues resolved )

And Server 2019 is support using the same SP's as noted above for VS 2019. link to platform PDF:

https://www.sap.com/documents/2016/06/f871031e-757c-0010-82c7-eda71af511fa.html

So it appears the issue is CR for VS doesn't like having the Root directory changed to E:...

Now there was an issue reported previously if BOE .NET couldn't find the c:\wwwroot folder we did not install our viewer folder but that was fixed and CR/BOE .NET installer checks the registry for wwwroot folder, so it should have copied the Viewer folder into the e:\wwwroot folder

Not clear if you copied over this folder:

C:\Inetpub\wwwroot\aspnet_client\system_web\2_0_50727\crystalreportviewer13

Delete it from the E:\ drive, IIS/ or CR will load both and cause a runtime issue, not sure why it does even though the App Pool and Project is specifying 4.0 framework. Something I've notice VS 2019 do...

More about your 2019 Server...

Does it have Windows installed on C:?

Is this a VM image or something other than a physical Server?

Did you install IIS before CR for VS?

Did you run the Cr for VS Setup.exe by right clicking on the file and selecting Run As Administrator?

That is a must do, something to do with permissions, even if you are logged in as a local Admin it still needs this option to integrate into the OS properly. Lot's of COM object needed to be registered and only way to do it properly is to use that option.

Thanks again

Don

Answers (5)

Answers (5)

former_member746751
Discoverer
0 Kudos

I gave up on this a long time ago. I went with a different solution. It was ridiculous the amount of messing with something that should be "install it and it should work" product. Sorry I couldn't ever figure it out.

0 Kudos

I am attempting to resolve this issue as well. I have done the following and still no report as IIS Websites do not run on C: but on E:

1) install runtime
2) provide modify perms on windows/temp directory
3) copy aspnet_client files to E:\folder.

former_member746751
Discoverer
0 Kudos

Thanks for all the info. I didn't have the app pool w/r to windows\temp unfortunately that didn't help. I'm looking over the links, but I'm going to just post the very basics of my setup. I don't even care about getting the old app transferred at this point. I just simply want to make a new web app and have it not error out. Seems simple enough as it isn't an oddball windows setup or anything goofy. 🙂 I have shotgunned this by giving a lot of rights to the app pool, but nothing is working. I also show what I did to actually at least see a report in the page when I run from VS (IIS Express)

OS is 2019 (64bit)
IIS 10.0.17763.1 (Web root is non-standard E:\wwwroot)
Installed on Server: SAP Crystal Reports runtime engine for .NET Framework (64-bit)
Installed on Server: SAP Crystal Reports, version for Microsoft Visual Studio
Installed on Server: Visual Studio 2019
App Pool Identity has Read/Write to WINDOWS\TEMP
C:\Inetpub\wwwroot\aspnet_client\system_web\2_0_50727 and C:\Inetpub\wwwroot\aspnet_client\system_web\4_0_30319 folders copied to
actual webroot folder with same pathing.
crystalreportviewer13 folder copied to application folder as well.
App Pool: Enable 32-Bit Applications: FALSE (I have had this at TRUE as well and it doesn't make it work)
App Pool Identity has Read/Write to SAP BusinessObjects folder and subfolders
App Pool Identity has read/write to original C:\Inetpub\wwwroot\aspnet_client folders and subfolders
App Pool Identity has read/write to current E:\wwwroot\aspnet_client folders and subfolders.


Simple test that half works.
1. In VS -> New Project (ASP.NET Crystal Reports Web Site)
2. Stick some text on report header.
3. "Run" app in VS... get a blank page. (no actual report)
4. Copy over the crystalreportviewer13 folder to the app folder.
5. add the following to the web.config
------------------------------------
<section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
<crystalReportViewer>
<add key="ResourceUri" value="~\crystalreportviewers13" />
</crystalReportViewer>
-------------------------------------
6. "Run" app in VS and blank report shows up! (yeah)

7. In IIS convert folder to app and setup app pool.
8. Point a web browser to the app and NOPE. Following error
Retrieving the COM class factory for component with CLSID {F734A321-8381-4FFD-A614-139E8906DC83} failed due to the following error: 8007007f
The specified procedure could not be found. (Exception from HRESULT: 0x8007007F)

It sounds like from the above that I shouldn't have CR for Visual Studio installed on the same computer as CR Runtime for .NET? I mean I'm honestly laughing at the amount of hoops I have had to jump through to try to get this to work at this point.

morganaj96
Explorer
0 Kudos

What was your solution to get this issue resolved? We have the same issue and have been unable to resolve using the suggested steps.

0 Kudos

Hi Jim,

When you create or update a WEB app with SP 30 CR for VS runtime the best thing to do is to copy this into your project folder:

C:\inetpub\wwwroot\Web5\WebApplication1\aspnet_client\system_web\4_0_30319

I created my test app in the InetPub folder so I know for sure it finds the correct Viewer.

Then when I want to test using VS I change the URL and remove the IISExpress port.

Here's a blog I wrote to help you update to SP 30 and above"

https://blogs.sap.com/2020/10/30/upgrading-a-visual-studio-2008-2019-.net-project-with-the-latest-cr...

Two must do things, set the AppPool for x86 true or false depending on if it 32 or 64 bit and install the machining MSI package, not required in your case since VS is installed the runtime is already there.

Give IIS full read write permissions to the \Windows\temp folder and set the platform for 4.7 or higher.

The CLSID, you can search the registry for it, is C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win64_x64\clientdoc.dll

When you install the MSI packages, you can't just copy the CR runtime over, and in your project set the Copy Local to False.

And Don't install both the CR for VS EXE and the MSI packages, it breaks thing, MSI and other redist packages are for deploying only.

For more info see my WIKI:

https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads

Don.

Also changing to the tag to CR for VS.

former_member746751
Discoverer
0 Kudos

Visual Studio is on the IIS server. Running the web app within Visual Studio (IIS Express) works fine. (Also works fine running from my workstation with VS and IIS Express, I have CR for VS installed on both) Just going to the actual web site is when it fails. I was guessing it was maybe a rights issue since IIS express is probably running under the logged in account and the app pool was something else. I changed the app pool to an admin just to check and didn't help. The amount of time I have spent on this I could have remade the reports in MS Report Server (which is up and working) however, the app that is being moved from an old server to this new one already was using CR, so that is why I'm trying to get CR up and running.