IIS运行错误 Server Application Error 错误代码 Error: 8004的解决方法
本文将重新修正整理了一下Server application Error解决方案,修正了命令中涉及到路径的问题,使用本文中的命令,将不需要理会路径问题:
iis 修复工具下载 iis_repair_jb51.rar
1、右键点击我的电脑 --> 管理 --> 本地用户和组 --> 用户,在右侧给“IUSR_机器名”和“IWAM_机器名”两个用户均设置密码为123;
2、开始 --> 运行 --> cmd ,然后依次在命令行窗口输入以下命令(一行一行的输入);
代码如下:
cscript.exe %HOMEDRIVE%\Inetpub\Adminscripts\adsutil.vbs set w3svc/wamuserpass 123
cscript.exe %HOMEDRIVE%\Inetpub\Adminscripts\adsutil.vbs set w3svc/anonymoususerpass 123
网上说这里需要去查看一下IIS正常没,不过这问题我好像以前也碰到过,这一次依然一样,到这里90%还是问题依就。
那我们就继续操作。
代码如下:
cscript.exe %HOMEDRIVE%\Inetpub\Adminscripts\synciwam.vbs -v
iisreset
操作到这里后,我这儿提示 error:8004e00f ,属于MSDTC服务异常。如果没有这种提示,那么恭喜你啦,你修复成功了。
我们继续操作:
3、删除注册表中的键:
· //HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSDTC
· //HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC
· //HKEY_CLASSES_ROOT/CID
4、继续在刚才的CMD窗口中,键入命令(停止并重新安装MSDTC服务):
net stop msdtc
msdtc -uninstall
msdtc -install
5、重新按第一步的说明操作(设置2个系统用户的密码);
6、CMD命令,同步IIS metabase中IWAM_MYServer的密码:
%HOMEDRIVE%\Inetpub\Adminscripts\adsutil.vbs set w3svc/wamuserpass "123"
7、CMD命令,同步COM+应用程序所用的IWAM_MYServer密码:
cscript %HOMEDRIVE%\Inetpub\Adminscripts\synciwam.vbs -v
操作到这里后,我这儿虽说没有8004e00f的错误提示,但测试过IIS,问题依旧啊,访问页面还是Server application Error
还得继续操作:
检查你的DTC服务(全名:Distributed Transaction Coordinator)是否可以正常启动,一般都没问题的。
runDLL32 %windir%\system32\inetsrv\wamreg.DLL, CreateIISPackage
regsvr32 %windir%\system32\inetsrv\asptxn.DLL /s
到这里大功告成!
下面是一些补充
首先这样操作...
1) 右键单击 我的电脑---->管理,打开计算机管理界面
打开 本地用户和组---->用户
右键单击 启动IIS进程帐号 IWAM_**** (注:****一般是计算机名)
点击设置密码,设置为一个你想要的密码。
2) 同步IIS 配置数据库密码:
此处命令有二种,一种可以查看密码,一种是修改密码:
a.你可以利用查看密码命令查看 IWAM密码,然后把第一步中用户IWAM密码设置为与 查看到的IIS配置数据库密码 一样
b.也可以利用修改密码命令把IIS配置数据库密码修改为你第一步修改过的IWAM密码。
二种任你选择。
查看密码:
这里注意:在WIN2000中,查看到的密码为星号,若要不为星号,必须要先修改adsutil.vbs文件。
修改方法:
a.到c盘 inetpub\adminscripts 找到adsutil.vbs (根据装系统时设定的不同,有的路径可能不一样)
b.右键单击,用记事本打开
c.查找 IsSecureProperty = True 注意=前后各有一个空格
d.将 IsSecureProperty = True 改为 IsSecureProperty = False
e.保存,关闭,OK。
不罗嗦了,下面列出
查看密码命令:
开始--->程序--->附件 打开命令提示符
输入 cd c:\inetpub\adminscripts
获取 IWAM 帐户密码命令: cscript.exe adsutil.vbs get w3svc/wamuserpass
获取 IUSR 帐户密码命令: cscript.exe adsutil.vbs get w3svc/anonymoususerpass
输入以上命令,按回车可分别查看IWAM和IUSR的密码。
修改密码命令:
修改 IWAM 帐户密码 cscript.exe adsutil.vbs set w3svc/wamuserpass "password"
修改 IUSR 帐户密码 cscript.exe adsutil.vbs set w3svc/anonymoususerpass "password"
password 设置为你想修改的密码,即与第一步中你设置的用户IWAM_****的相同,按回车即可修改完成。
这里一定要注意:w3svc与wamuserpass之间的杠是/而不是\,否则会出错。
并且还要注意:修改密码前请一定停止所有的Internet信息服务,否则后面可能会出错,并且IWAM帐户可能会被锁定。
如何停止?打开计算机管理,在Internet信息服务上单击右键,选择重新启动IIS服务,在选项中点停止IIS服务,确定即可。
3) 更改组件服务中的密码
开始--->程序--->附件 打开命令提示符
先输入 cd c:\inetpub\adminscripts
然后输入 cscript.exe synciwam.vbs -v
系统会提示:
引用内容
microsoft (r) windows script host version 5.6
版权所有(c) microsoft corporation 1996-2000。保留所有权利。
wamusername:iwam_myserver
wamuserpass:aboutnt2001
iis applications defined:
name, appisolated, package id
w3svc, 0, 3d14228c-fbe1-11d0-995d-00c04fd919c1}
root, 2,
iishelp, 2,
iisadmin, 2,
iissamples, 2,
msadc, 2,
root, 2,
iisadmin, 2,
iishelp, 2,
root, 2,
root, 2,
out of process applications defined:
count: 1
3d14228d-fbe1-11d0-995d-00c04fd919c1}
updating applications:
name: iis out-of-process pooled applications key: 3d14228d-fbe1-11d0-995d-00c04fd919c1}
如果是上面的显示的话那说明你的IIS已经成功启动了,但是
如果显示 Error: 8004E00F:别急,那就需要做下面的操作了。..
执行synciwam.vbs -v的时候出现Error: 8004E00F错误
可以参考下面
同步密码时出现如下错误:
C:\Inetpub\AdminScripts>synciwam.vbs -v
IIS Applications Defined:
Name, AppIsolated, Package ID
ROOT, 2,
IISHelp, 2,
Out of process applications defined:
Count: 1
{3D14228D-FBE1-11d0-995D-00C04FD919C1}
Error: 8004E00F:
C:\Inetpub\AdminScripts>
解决办法:
1、首先进入组件服务,查看组件服务/计算机/我的电脑/COM+应用程序,若报错"COM+ 无法与 Microsoft 分布式事务协调程序交谈",无法查看里面的对象。那就再继续看下面
2、进入事件查看器,看msdtc服务是否正常启动。(应该是没有)
3、删除注册表中的键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
HKEY_CLASSES_ROOT\CID
(全部删除,呵呵,不要害怕哦...注册表不可怕)
4、这一条网络上大虾们似乎没有提到,那就是卸载IIS,然后重新装上去。呵呵,搞定,比你去查看什么服务快多了。。。当然这个是在你手上有IIS安装文件或者系统光盘的前提下哦。呵呵。希望对一些朋友有用这篇文章,当然如果你还有其他的办法,别忘了告诉我啊!~