IIS运行错误 Server Application Error 错误代码 Error: 8004的解决方法

本文将重新修正整理了一下Server application Error解决方案,修正了命令中涉及到路径的问题,使用本文中的命令,将不需要理会路径问题:

iis 修复工具下载 iis_repair_.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)是否可以正常启动,一般都没问题的。

  继续在CMD下执行以下命令:
  
复制代码 代码如下:

  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安装文件或者系统光盘的前提下哦。呵呵。希望对一些朋友有用这篇文章,当然如果你还有其他的办法,别忘了告诉我啊!~