辛酸的 aspnet_wp.exe could not be started(800705B4)

作者:vkvi 来源:ITPOW(原创) 日期:2007-9-27

昨天,发现之前安装的 .NET Framework 是英文版,想用中文版,又不想直接安语言包(我有个坏习惯,认为“中文语言包”不如“中文版”正宗),就把英文版卸载了,再安装中文版的。结果 .NET 程序再也用不起,查看事件日志发现如下错误:

aspnet_wp.exe could not be started. The error code for the failure is 800705B4. This error can be caused when the worker process account has insufficient rights to read the .NET Framework files. Please ensure that the .NET Framework is correctly installed and that the ACLs on the installation directory allow access to the configured account.

大致意思是说没有目录权限,于是检查 ASPNET 这个用户的 NTFS 权限,发现没有大的问题,又对照微软的《如何创建自定义帐户来运行 ASP.NET》一文进行检查,还是没有问题。

利用 Google 搜索“aspnet_wp.exe 800705B4”,结果却令人大失所望,只有两条记录,还没有解决问题。

管理工具->本地安全策略中也是正常的,无语,于是又是重装 .NET Framework,重启 Windows,还是不行。

把用户 ASPNET 删了,.NET Framework 卸干净了,装英文版,还是不行,真是欲哭无泪。

死马当活马医,照网上的,改配置文件,不行,执行 aspnet_regiis.exe(位于类似于 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 的地方),还是不行。不过执行 aspnet_regiis.exe 时发现错误:服务器并未及时响应启动或控制请求,IIS 也被停了,只能手动启动 IIS,对照事件日志的提示,没有把精力放在这上面。

……中间辛酸无数……

把 ASPNET 这个用户加入 Administrators 这个用户组,.NET 正常了,但这样做太危险了,为了弄清用户 ASPNET 是在哪个文件夹没有权限,把 ASPNET 从 Administrators 用户组中移出,并将其权限开到最大,居然没有正常!

已经凌晨一点了,只好作罢。

今天早上一起来,回忆下昨晚的找错经历,猜测不是由于用户 ASPNET 对哪个文件夹没有权限,而是对 IIS 没有权限,在 IIS 的站点属性中,把 ASPNET 这个操作员删了,重新添加,重启下 IIS,正常了

早上脑袋确实好使些,想起昨天十个小时的找错经历,不惊万分欣慰,想想昨天,的确是因为太相信事件日志中所说的文件读取权限,把精力都放在 NTFS 上了,结果忽略了一些其它信息,到后来更是病急乱投医。

为什么把 ASPNET 这个操作员删了重新添加就正常了呢,我怀疑是密码变了的原因吧。其实昨晚也进行过该操作,但没有恢复正常,我怀疑是我没有重启 IIS 的原因,或者至少我应该等上几分钟再测试吧,Win2K 的 IIS 中改了权限设置,有时候就是不能立即表现出来。

相关文章