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