MS Dynamics CRM Customization and programming tricks by Ronny Van der Snickt

Site menu:

Tags

.net 4.0 asp.net CRM Customizations database Duplicate Detection E-mail Router Error Eventlog Framework 2.0 Framework 4.0 iis JavaScript moss MOSS 2007 MS CRM MS SQL Office 2010 reflector Rollup SDK Search Server 2008 sharepoint source control Template tfs unsharing Windows Service WSS 3.0


Archive

Meta

MS CRM 4.0 Setup error: ASP.NET is not installed

Today I got an error when installing MS CRM 4.0. Internet Information Services (IIS) => ASP.NET is not installed. (The screenshot is in Dutch but I tried the English installation too with the same results).

Screenshot setup ms crm 4.0

The log file didn’t helped much either

09:28:53|Verbose| Method entry: Microsoft.Crm.Tools.EDW.Framework.EDWTool.RunSnifferValidate Internet Information Services (IIS)
09:28:53|Verbose| Calling BaseGroup.Validate
09:28:53| Info| Check IIsInstalledValidator: Success
09:28:53| Info| Check IisAdminServiceValidator: Success
09:28:53| Error| Check AspNetRegisteredValidator : Failure: ASP.NET 2.0 is niet geïnstalleerd.
09:28:53| Info| Check W3svcServiceValidator: Success
0
9:28:53| Info| Check IsIIs5IsolationModeValidator: Success
09:28:53|Verbose| BaseGroup.Validate completed
09:28:53|Verbose| Method exit: Microsoft.Crm.Tools.EDW.Framework.EDWTool.RunSnifferValidate

The report server was running on the same machine, I also created a test ASP.NET 2.0 website to test the IIS and this all worked without a problem. ASP.NET was installed and even had SP2. I tried to re-register ASP.NET by running the following command line.

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

Still the same result, so I googled this and I knew that I was in trouble when google didn’t give me any answers. At this point I knew that if I would ever find a solution I just need to blog this J

After some more searching and trying I decided to pull out the big guns and I started to use reflection on the setup dll’s to find out what exactly the setup was checking for.

I quickly found this function in the object Microsoft.Crm.Setup.Server.AspNetRegistrationValidator

protected override CheckResultInfo InternalCheck(IDictionary parameters)
{
bool flag = false;
try
{
using (DirectoryEntry entry = new
DirectoryEntry(“IIS://localhost/W3SVC/Filters”))
{
foreach (DirectoryEntry entry2 in entry.Children)
{
using (entry2)
{
if (entry2.Name.ToLower(CultureInfo.InvariantCulture).StartsWith(“asp.net_2″))
{
flag = true;
goto Label_00D1;
}
continue;
}
}
}
}
catch (COMException exception)
{
if (-2147463168 == exception.ErrorCode)
{
throw new InvalidOperationException(ServerResource.GetString(“IIS.Error.BadMetabasePath”, new object[0]));
}
if (-2147024891 == exception.ErrorCode)
{
throw new Exception(ServerResource.GetString(“IIS.Error.AccessDenied”, new object[0]));
}
throw;
}
Label_00D1:
if (!flag)
{
return new CheckResultInfo(CheckResult.Failure, base.GetResourceString(“AspNetRegisteredValidator.Failure.NotRegistered”, new object[0]));
}
return new CheckResultInfo(CheckResult.Success);
}

I used the code to create a console application and found that the only filter it could find was ASP.NET_4.0.30319.0. So the test failed because it was looking for asp.net_2.

The server was still an windows server 2003 and I found these filters by right clicking on websites => properties.

IIS Web Sites Properties  
IIS ISAPI Filters showing ASP.NET 4.0

On the tab ISAPI Filters I found my problem. I added a new filter called ASP.NET_2.0.50727 and selected the following file c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll

After doing this the CRM setup validated everything correct and the installation succeeded.

Screenshot setup ms crm 4.0

Comments

Comment from Dave Markle
Time: June 9, 2010, 7:10 pm

Thanks! This saved a lot of time for us.

Comment from MAX
Time: June 15, 2010, 11:12 am

thanks a lot, i had the same problem and its the only blog where i found the solution. thanks again for you work

Pingback from MS CRM Customization Fun » Ghost project in TFS: Project site folder already exists
Time: June 19, 2010, 8:28 am

[...] but nothing that worked for me. So confidence as I was after my last problem (See my previous post MS CRM 4.0 Setup error asp.net is not installed) I did a search on all dll files and put all files related to TFS in reflector. With reflector I [...]

Pingback from MS Dynamics CRM installation: ASP.NET 2.0 is not installed « Saved for later reference
Time: July 5, 2010, 1:46 pm

[...] This guy figured out what the problem is: The installer checks for a specific filter in the IIS settings, which doesn’t exist when .NET 4.0 has been installed. [...]

Comment from Assaf Lev
Time: July 6, 2010, 2:59 pm

Thank you! solved my problem too

Comment from troberts
Time: July 8, 2010, 8:12 pm

Thank you, Thank you, Thank you!

Comment from Alsenitd Rausseo
Time: July 13, 2010, 6:55 pm

Thanks man…. That’s what I needed

Comment from henri
Time: August 2, 2010, 6:45 am

Thanks for the solution.

Comment from kenny
Time: August 3, 2010, 10:03 am

You just saved my day, thanks mate!

Comment from David
Time: August 9, 2010, 3:26 pm

Great tip, thank you for your help!

Comment from Jamie
Time: August 19, 2010, 3:36 am

Thankyou you saved myself and my client a heap of trouble.

Write a comment