Tuesday, June 05, 2007

Reports.config has invalid schema

I was working with setting up a demo/lab environment with SQL 2005, MOSS Ent 2007 and MS CRM 3, Office 2007 Ultimate.

However, I had problems getting the reports to work, when trying to access the reportpage, I got the error: "Reports.config has invalid schema".

I looked around a bit on the net and found that one of the blogs I suibscribe to actually discussed the problem at hand.

http://blogs.msdn.com/mscrmfreak/archive/2006/05/17/599371.aspx

It seemed that the reason for the error was that .NET 2.0 had been defaultet for the CRM 3 website (and we all know it is .NET 1.1, right!). So, tried to run "aspnet_regiis -r" as described but I got the same error as the comment by "Matt Thomas", my CRM just stopped working.

So, what to do. I found that when you run "aspnet_regiis -r" it resetts all websites to the version of .NET that you run it from (ex. C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis -r, will set all websites to use .NET 1.1). This is not desirable since my MOSS 2007, SQL 2005 RS and all MOSS admin sites (central admin, my site, SSP) all should run .NET 2.0. So, I thought it better to reset all sites to .NET 2.0 and then manually set the CRM site to 1.1. And so I did, and CRM just stalled when loading. No error message, no nothn'!

This got me thinking that you should be able to run one version of aspnet_regiis for just one website. So, by trying the all-usefull "/?" parameter I found that using "aspnet_regiis -lk" will list all different IIS-paths and show which version they were running. This was what I found:
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322>aspnet_regiis -lk
W3SVC/ 2.0.50727.42W3SVC/1/ROOT/ 2.0.50727.42
W3SVC/1/ROOT/_layouts/images/ 2.0.50727.42
W3SVC/1/ROOT/_layouts/inc/ 2.0.50727.42
W3SVC/131316714/root/ 2.0.50727.42
W3SVC/131316714/root/Reports/ 2.0.50727.42
W3SVC/131316714/root/ReportServer/ 2.0.50727.42
W3SVC/1720207907/root/ 2.0.50727.42
W3SVC/2/ROOT/ 1.1.4322.0
W3SVC/2/ROOT/MSCRMServices/ 2.0.50727.42
W3SVC/2075257487/Root/ 2.0.50727.42
W3SVC/2075257487/Root/_layouts/images/ 2.0.50727.42
W3SVC/2075257487/Root/_layouts/inc/ 2.0.50727.42
W3SVC/425288717/Root/ 2.0.50727.42
W3SVC/425288717/Root/_layouts/images/ 2.0.50727.42
W3SVC/425288717/Root/_layouts/inc/ 2.0.50727.42
W3SVC/493651791/Root/ 2.0.50727.42
W3SVC/493651791/Root/_layouts/images/ 2.0.50727.42
W3SVC/493651791/Root/_layouts/inc/ 2.0.50727.42

Aha! Can you see what is wrong? Well, when I manually set CRM to .NET 1.1 it didn't do that recursivly! The CRM webservice is running as a separate application, and I hadn't changed that. This is the row that shows what's wrong:

W3SVC/2/ROOT/MSCRMServices/ 2.0.50727.42

So, I checked what parameters you could use with aspnet_regiis and found that "-s " seemed like a good idea. Hence, I ran:

aspnet_regiis -s W3SVC/2/ROOT

I think it might just have worked with going in to the CRM site and changing it for the MSCRMService virtual directory, but I thought it better to set it to the entire MS CRM 3 website recursivly to make sure everything was ok. When it had completed (takes a minute or two), I ran "aspnet_regiis -lk" again to check the current status:

W3SVC/ 2.0.50727.42W3SVC/1/ROOT/ 2.0.50727.42
W3SVC/1/ROOT/_layouts/images/ 2.0.50727.42
W3SVC/1/ROOT/_layouts/inc/ 2.0.50727.42
W3SVC/131316714/root/ 2.0.50727.42
W3SVC/131316714/root/Reports/ 2.0.50727.42
W3SVC/131316714/root/ReportServer/ 2.0.50727.42
W3SVC/1720207907/root/ 2.0.50727.42
W3SVC/2/ROOT/ 1.1.4322.0
W3SVC/2/ROOT/MSCRMServices/ 1.1.4322.0
W3SVC/2075257487/Root/ 2.0.50727.42
W3SVC/2075257487/Root/_layouts/images/ 2.0.50727.42
W3SVC/2075257487/Root/_layouts/inc/ 2.0.50727.42
W3SVC/425288717/Root/ 2.0.50727.42
W3SVC/425288717/Root/_layouts/images/ 2.0.50727.42
W3SVC/425288717/Root/_layouts/inc/ 2.0.50727.42
W3SVC/493651791/Root/ 2.0.50727.42
W3SVC/493651791/Root/_layouts/images/ 2.0.50727.42
W3SVC/493651791/Root/_layouts/inc/ 2.0.50727.42

As you can see, the MSCRMService is now also .NET 1.1.

After this I restarted the IIS with "iisreset", and tried to run CRM and the reports;
Everything worked as it should!

Gustaf Westerlund
CRM and SharePoint Consultant

Humandata AB
www.humandata.se

1 comment:

  1. I have done exactly as you have pointed out. but my CRM page does not load. It says "Page cannot be found".

    Any ideas?

    Piyush
    piyushmittal8@yahoo.com

    ReplyDelete