你目前正处于脱机状态,正在等待 Internet 重新连接

BUG:安装 MS03-032 安全更新后 ASP.NET 发出错误信息“Server Application Unavailable”(服务器应用程序不可用)

症状
Microsoft 已确定,在运行 Microsoft Windows XP 并安装了 Microsoft ASP.NET 1.0 的计算机上应用 Internet Explorer 安全修补程序的最新 MS03-32 安全更新时,将出现错误。该修补程序可以手动安装,也可以通过从 Windows Update Web 站点获取最新的重要更新进行安装。

安装修补程序后,在对 ASP.NET 作出任何请求时,您将收到以下错误信息:
Server Application Unavailable
该错误仅影响在 Windows XP 上运行 ASP.NET 1.0 的计算机。它不影响运行 Microsoft Windows 2000 或 Microsoft Windows Server 2003 的计算机,也不影响运行 Windows XP 且安装了 ASP.NET 1.1 的计算机。

下表列出了受该错误影响的操作系统和 Microsoft .NET Framework 的版本:
.NET Framework 版本操作系统受影响
1.0Windows 2000 Professional
1.0Windows 2000 Server
1.0Windows XP Professional
1.0Windows Server 2003
1.1Windows 2000 Professional
1.1Windows 2000 Server
1.1Windows XP Professional
1.1Windows Server 2003
替代方法
要解决此错误,请运行本文中“批处理文件”部分所述的批处理文件。该批处理文件将执行以下任务:
  1. 停止 IIS 和 ASP.NET 状态服务。
  2. 删除 ASPNET 帐户,然后使用一个已知的临时密码重新创建 ASPNET 帐户。
  3. 使用 Windows runas 命令启动用于创建 ASPNET 用户配置文件的可执行程序。ASPNET 用户配置文件将解决此问题。
  4. 重新注册 ASP.NET。此步骤将为帐户创建一个新的随机密码,并对帐户应用默认的 ASP.NET 访问控制设置。
  5. 重新启动 Microsoft Internet 信息服务 (IIS) 服务。
批处理文件包含硬编码的临时密码“1pass@word”。在批处理文件运行时,将提示您为 runas 命令输入此密码。runas 命令完成后,将使用一个强随机值重新创建 ASPNET 帐户密码。

重要说明

  • 如果硬编码的密码不满足您的环境中的密码复杂性要求,批处理文件可能会失败。如果发生此问题,可以将密码更改为适合您的环境的其他值。
  • 如果您已经为 ASPNET 帐户添加了自定义的访问控制设置或数据库帐户权限,则必须在该批处理文件完成后重新创建这些设置或权限。这是因为在重新创建帐户时为此帐户分配了一个新的安全标识符 (SID)。
  • 如果您是通过使用不同于 ASPNET 帐户的自定义帐户运行 ASP.NET 工作进程,则不要运行此批处理文件,而必须以交互方式登录到计算机或者必须通过使用 runas 命令来使用该自定义帐户。此过程将为自定义帐户创建一个用户配置文件。
要使用批处理文件,请按照以下步骤操作。

注意:您的帐户必须是管理员组的成员。
  1. 启动记事本。确认“自动换行”处于关闭状态。
  2. 将批处理文件代码粘贴到记事本中。
  3. 将此文件另存为 c:\fixup.cmd
  4. 单击“开始”,然后单击“运行”。
  5. 键入 cmd.exe,然后按 Enter 键。
  6. 在命令提示符下,键入 c:\fixup.cmd,然后按 Enter 键。
  7. 当系统提示您输入密码时,键入 1pass@word

    将显示另一个命令提示符窗口。
  8. 应用修补程序后,在第二个命令提示符窗口中键入 exit,然后按 Enter 键。
  9. 如果您先前已经为 ASPNET 帐户配置了自定义访问控制设置或数据库帐户权限,则现在必须重新应用这些设置。

批处理文件

REM Start Batch FileREM This batch file addresses issues that exist with the MS03-32 REM Security Update when you run ASP.NET 1.0 on Windows XP.REM If you have any other configuration, do not run this file.@echo off if exist %SystemRoot%\microsoft.net\framework\v1.1* goto v11_installedREM Change to the .NET Framework installation directory.cd /d %SystemRoot%\microsoft.net\framework\v1.0.3705 echo "Stopping IIS."iisreset /stop echo "----------------------"echo "Stopping the ASP.NET state service if it is running."net stop aspnet_stateecho "----------------------"echo "Deleting the ASPNET account."net user ASPNET /delete echo "----------------------"echo "Creating a new ASPNET account with a temporary password."net user ASPNET 1pass@word /add echo "----------------------"echo "Launching runas to create a profile."echo "You see a command window being created."echo "Type 1pass@word when you are prompted for the temporary password." runas /profile /user:ASPNET cmd.exe echo "----------------------"echo "Reregistering ASP.NET and the ASPNET account."aspnet_regiis -i echo "A new random password has been autocreated for the ASPNET account."echo "----------------------"echo "Restarting IIS."iisreset /start echo "----------------------"echo "The workaround has been applied."echo "Try to access an ASP.NET page."echo "If you have any custom access controls settings for the ASPNET account,"echo "you must re-create them."echo "If you were running the ASP.NET state service, you must restart it."goto done:v11_installedecho "Version 1.1 appears to be installed. Do not run this file.":doneREM End of batch file.
状态
Microsoft 已经确认这是本文开头列出的 Microsoft 产品中存在的错误。
属性

文章 ID:827641 - 上次审阅时间:03/29/2004 20:26:41 - 修订版本: 3.2

  • Microsoft ASP.NET 1.0
  • kbbug KB827641
反馈