ConfigMgr 2007: MPControl.log shows HttpSendRequestSync fails with status code 500 'Internal Server Error'

Note: The information below does not apply to Windows Server 2008. Do not run these steps on a Windows Server 2008-based computer.

Here's an issue we're starting to see every now and then.  This one comes from Ryan Anderson, one of our top Senior Support Escalation Engineers in our Las Colinas office.  If you're seeing 500 errors in your MPControl log then give this one a read:

========

Issue: MP Control fails with HTTP test request failed, status code is 500, 'Internal Server Error' on a Management Point running a 64-bit OS hosting 32-bit (x86) based IIS.  The MPControl log contains the following:

Call to HttpSendRequestSync failed for port 80 with status code 500, text: Internal Server Error SMS_MP_CONTROL_MANAGER 1/23/2008 5:53:30 PM 4792 (0x12B8)
Http test request failed, status code is 500, 'Internal Server Error'. SMS_MP_CONTROL_MANAGER <date time> 4792 (0x12B8)

The IIS Logs may also show the following:

<date time> W3SVC1 192.168.0.35 CCM_POST /ccm_system/request - 80 - 192.168.0.105 ccmhttp 500 0 193
<date time> W3SVC1 192.168.0.35 CCM_POST /ccm_system/request - 80 - 192.168.1.109 ccmhttp 500 0 193
<date time> W3SVC1 192.168.0.35 GET /SMS_MP/.sms_aut MPLIST 80 - 192.168.0.35 SMS_MP_CONTROL_MANAGER 500 0 193
<date time> W3SVC1 192.168.0.35 CCM_POST /ccm_system/request - 80 - 192.168.0.61 ccmhttp 500 0 193

Browsing to https://SiteServer/SMS_MP/.sms_aut?MPlist returns a 500 as well.

Cause: This problem occurs because the ASP.NET registry keys are missing. The ASP.NET registry keys are missing when you install ASP.NET after the Enable32bitAppOnWin64 Microsoft Internet Information Services (IIS) metabase setting is set to a value of 1. Because IIS is configured to run in 32-bit mode, the ASP.NET installation does not create the ASP.NET registry keys in the 64-bit registry. The ASP.NET installation creates the ASP.NET registry keys only in the 32-bit registry.

Resolution: To resolve this problem, follow these steps for 32-bit or 64-bit mode:

To enable 64-bit mode:

1. Click Start, click Run, type cmd, and then click OK.

2. To enable the 64-bit mode, type the following command, and then press ENTER:

cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0 

3. Type the following command, and then press ENTER:

cd C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727

4. To install the 64-bit version of ASP.NET, type the following command, and then press ENTER:

aspnet_regiis -i

5. Type the following command, and then press ENTER:

iisreset

----  

To enable the 32-bit mode:

1. Type the following command, and then press ENTER:

cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

2. Type the following command, and then press ENTER:

cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

3. To install the 32-bit version of ASP.NET, type the following command, and then press ENTER:

aspnet_regiis -i

4. Type the following command, and then press ENTER:

iisreset

This resolution was taken from the following KB article that was written for the same issue with Visual Web Developer 2005:

920719 Error message after you click "ASP.NET Configuration" in Visual Web Developer 2005 on a computer that is running a 64-bit version of Windows Server 2003 or a 64-bit version of Windows XP: "Unable to connect to Visual Studio's Localhost Web Server".

========

Thanks Ryan!

J.C. Hornbeck | Manageability Knowledge Engineer