Microsoft KB Archive/930903

From BetaArchive Wiki
< Microsoft KB Archive
Revision as of 10:26, 21 July 2020 by X010 (talk | contribs) (Text replacement - ">" to ">")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Base


FIX: Error message after you upgrade from Windows XP SP2 to Windows Vista: "Server Application Unavailable. The web application you are attempting to access on this web server is currently unavailable"

Article ID: 930903

Article Last Modified on 3/17/2007



APPLIES TO

  • Windows Vista Ultimate
  • Windows Vista Enterprise
  • Windows Vista Business
  • Windows Vista Home Premium
  • Windows Vista Home Basic
  • Windows Vista Starter
  • Windows Vista Enterprise 64-bit edition
  • Windows Vista Home Basic 64-bit edition
  • Windows Vista Home Premium 64-bit edition
  • Windows Vista Ultimate 64-bit edition
  • Windows Vista Business 64-bit edition
  • Microsoft Internet Information Services 7.0
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 2.0



SYMPTOMS

Consider the following scenario. You have Microsoft ASP.NET 1.1 and Microsoft ASP.NET 2.0 installed on a computer that is running Microsoft Windows XP Service Pack 2 (SP2). Then, you upgrade the computer to Windows Vista. In this scenario, you receive the following error message in the Web browser when you visit a Web page:

Server Application Unavailable

The web application you are attempting to access on this web server is currently unavailable. Please hit the "Refresh" button in your web browser to retry your request.

CAUSE

After you perform the upgrade, all ASP.NET 1.1 and ASP.NET 2.0 applications on the Windows Vista-based computer are moved into the AppPool_Low application pool in Microsoft Internet Information Services (IIS) 7.0. However, only one version of the Microsoft .NET Framework can be loaded into any one process at a time.

RESOLUTION

To resolve this problem, follow these steps:

  1. Click Start, type iis in the Start Search box, and then click Internet Information Services (IIS) Manager in the Programs list. If you are prompted for an administrator password or confirmation, type your password, or click Continue.
  2. In the Connections pane, expand the name of the computer that is running IIS 7.0, and then click Application Pools.
  3. In the Actions pane, click Add Application Pool.
  4. In the Add Application Pool dialog box, type a name for the application pool.
  5. In the .NET Framework version list, select the corresponding entry for the version of the .NET Framework 1.1 that is running on the computer.
  6. Move any .NET Framework 1.1 applications that appear in the AppPool_Low application pool into the newly created application pool.
  7. In the Actions pane, click Add Application Pool.
  8. In the Add Application Pool dialog box, type a name for the application pool.
  9. In the .NET Framework version list, select the corresponding entry for the version of the .NET Framework 2.0 that is running on the computer.
  10. Move any .NET Framework 2.0 applications that appear in the AppPool_Low application pool into the newly created application pool.


STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

Steps to reproduce the behavior

  1. Install the .NET Framework 1.1 on a computer that is running Windows XP SP2.
  2. Create and then deploy a new ASP.NET Web application that is named "repro1." To do this, use the following files and code:
    • Web.config

      <?xml version="1.0"?>
      <configuration>
          <system.web>
              <compilation debug="true" />
          </system.web>
      </configuration>
    • Repro.aspx

      <%@ Page Language="C#" %>
      <script runat="server">
          void Page_Load()
          {
              Label1.Text = string.Format("Install Root: [{0}]",
                  System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory());
              Label2.Text = string.Format("System Version: [{0}]",
                  System.Runtime.InteropServices.RuntimeEnvironment.GetSystemVersion());
          }
      </script>
      <html xmlns="http://www.w3.org/1999/xhtml">
         <head>
             <title>Test</title>
         </head>
          <body>
              <form id="form1" runat="server">
                  <asp:Label id="Label1" runat="server" /><br />
                  <asp:Label id="Label2" runat="server" /><br />
              </form>
          </body>
      </html>
  3. Install the .NET Framework 2.0.
  4. Create and then deploy a new ASP.NET Web application named "repro2." To do this, use the same files and code that are mentioned in step 2.
  5. Register the repro2 application with the .NET Framework 2.0. To do this, follow these steps:
    1. Click Start, click Run, type cmd.exe, and then click OK.
    2. At the command prompt, type the following string, and then press ENTER:

      %windir%\Microsoft.NET\Framework\2.0 version\aspnet_regiis -s w3svc/1/root/repro2

      In this string, 2.0 version represents the version of the .NET Framework 2.0 that you installed in step 3.
  6. Upgrade the computer to Windows Vista.
  7. In IIS 7.0 Manager, verify that the two ASP.NET Web applications appear in the same application pool. To do this, follow these steps:
    1. In Windows Vista, click Start, type iis in the Start Search box, and then click Internet Information Service (IIS) Manager in the Programs list. If you are prompted for an administrator password or confirmation, type your password, or click Continue.
    2. In the Connections pane, expand the name of the computer that is running IIS 7.0, and then click Application Pools.
    3. Click the AppPool_Low application pool. Notice that repro1 and repro2 are listed there.


For more information about how to repair IIS mapping, click the following article number to view the article in the Microsoft Knowledge Base:

306005 How to repair IIS mapping after you remove and reinstall IIS


Keywords: kbtshoot kbbug KB930903