日期:2003-12-25
操作环境
Windows2000 Server;.NET平台
问题描述
当不小心把ASPNET帐户的密码改了,结果整个.NET平台都运行不了了,到日志中查看:
aspnet_wp.exe 未能启动。失败的错误代码为 80004005。当辅助进程帐户没有足够的权限读取 .NET Framework 文件时,可能会导致该错误。请确保正确安装了 .NET Framework,并且安装目录的 ACL 允许访问配置的帐户。
解决办法
方案一:
a) 停止IIS和ASP.NET state services
b) 删除并重新创建ASPNET帐户,给其设置一个临时密码
c) 打开命令行程序并转到cd /d C:\WINNT\Microsoft.NET\Framework\v1.1.4322
d) 执行runas /profile /user:ASPNET cmd.exe
e) 执行aspnet_regiis –i
参考批处理文件Fixup.txt,执行时将其扩展名改为.bat即可。
方案二:
a) 在C:\WINNT\Microsoft.NET\Framework\v1.1.4322\CONFIG目录下找到machine.config文件
b) 用文本编辑器打开 machine.config 文件 ,找到 userName=“machine” password=“AutoGenerate”
c) 把其中的machine 改为 -> “SYSTEM” 保存关闭文件编辑器
d) 打开windows 任务管理器,把ASPNET 用户下的全有进程全部 Kill.完成
总结
参考链接:http://www.asp.net/faq/ms03-32-Issue.aspx.
http://weblogs.3322.org/200309.htm
主要是看到 Windows 2003 下运行 aspnet_wp.exe 是以SYSTEM权限运行的,而在Windows2000Server中它以一个特殊的帐号 ASPNET 来运行。而MS03-32 的问题就是出在这个ASPNET帐号上,所以我选择了不用那个 ASPNET 帐号,到现在为止还没有发现有什么不对的地方,所有程序一切正常。
店铺地址:https://shop66907778.taobao.com/