同步COM+应用程序所用的IWAM_MYSERVER的密码,我们有两种方式可以选择:一种是使用组件服务MMC管理单元,另一种是使用IWAM账号同步脚本synciwam.vbs。
%%%%第三步的第一种方法: 使用组件服务MMC管理单元
(1)启动组件服务管理单元:从控制面板--管理工具--组件服务;若无,则这样操作也可以,选择“开始”->“运行”->“MMC”,启动管理控制台,打开“添加/删除管理单元”对话框,将“组件服务”管理单元添加上。
(2)找到“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”->“Out-Of-Process Pooled Applications”,右击“Out-Of-Process Pooled Applications”->“属性”。
******************************************
以下是该步骤(2)中可能出现的错误,若未错误,则跳过下面即可
******************************************
错误代码8004E00F-COM+无法与Microsoft分布式事务协调程序 解决方法 :
1、删除注册表中的键:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSDTC
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC
HKEY_CLASSES_ROOT/CID
2、运行CMD,停止MSDTC服务:net stop msdtc
3、卸载MSDTC服务:msdtc -uninstall
4、重新安装MSDTC服务:msdtc -install
这样之后,若DTC依然没有启动,
5、在CMD中运行,net start msdtc
正在启动
启动失败
发生服务特定错误:3221229627
执行 msdtc -resetlog
再执行 net start msdtc
******************************************
com+中没有out-of-process pooled applications解决方法:
开始菜单->运行->cmd打开命令提示窗口
输入cd %windir%/system32/inetsrv切换到system32下inetsrv目录
输入rundll32 wamreg.dll, CreateIISPackage
注意:必须准确键入"CreateIISPackage"它区分大小写
输入regsvr32 asptxn.dll
关闭并重新打开"组件服务",问题解决。
******************************************
(3)切换到“Out-Of-Process Pooled Applications”属性对话框的“标识”选项卡。“此应用程序在下列账户下运行”选择中“此用户”会被选中,用户名是都是缺省的,不必改动。在下面的“密码”和“确认密码”文本框内输入密码123,确定退出。
(4)系统如果提示“应用程序被一个以上的外部产品创建。你确定要被这些产品支持吗?”时确定即可。
(5)如果我们在IIS中将其它一些Web的“应用程序保护”设置为“高(独立的)”,那么这个WEB所使用的COM+应用程序的IWAM账号密码也需要同步。重复(1 )-(4)步,同步其它相应Out of process application的IWAM账号密码。
%%%%第三步的第二种方法(比较简单): 使用IWAM账号同步脚本synciwam.vbs
实际上微软已经发现IWAM账号在密码同步方面存在问题,因此在IIS5的管理脚本中单独为IWAM账号密码同步编写了一个脚本synciwam.vbs ,这个脚本位于 C:/inetpub/adminscripts子目录下(位置可能会因你安装IIS5时设置的不同而有所变动)。
synciwam.vbs脚本用法比较简单:
cscript synciwam.vbs [-v|-h]
“-v”参数表示详细显示脚本执行的整个过程(建议使用),“-h”参数用于显示简单的帮助信息。
我们要同步IWAM_MYSERVER账号在COM+应用程序中的密码,只需要执行“cscript synciwam.vbs -v”即可,如下:
cscript c:/inetpub/adminscripts/synciwam.vbs -v
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2000。保留所有权利。
WamUserName:IWAM_MYSERVER
WamUserPass:123
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}
从上面脚本的执行情况可以看出,使用synciwam.vbs脚本要比使用组件服务的方法更全面和快捷。它首先从IIS的metabase数据库找到IWA M账号"IWAM_MYSERVER"并取出对应的密码 “Aboutnt2001”,然后查找所有已定义的IIS Applications和Out of process applications,并逐一同步每一个Out of process applications应用程序的IWAM账号密码。
使用synciwam.vbs脚本时,要注意一个问题,那就是在你运行synciwam.vbs之前,必须保证IIS metabase数据库与Active Directory中的IWAM密码已经一致。因为synciwam.vbs脚本是从IIS metabase数据库而不是从Active Directory取得IWAM账号的密码,如果IIS metabase中的密码不正确,那synciwam.vbs取得的密码也会不正确,同步操作执行到“Updating Applications”系统就会报80110414错误,即“找不到应用程序{3D14228D-FBE1-11D0-995D-00C04FD919C1}”。
好了,到现在为止,IWAM账号在Active Directory、IIS metabase数据库和COM+应用程序三处的密码已经同步成功,你的ASP或者asp.net程序又可以运行了!
******************************************
最后可能出现的问题:访问IIS元数据库失败
主要是因为IIS和.net安装次序出了问题,解决方法
1、打开CMD,cd C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727进入该文件夹,
2、输入 aspnet_regiis.exe -i
稍等片刻,注册成功就解决问题了。
接着还会出现“未能创建 Mutex”的问题
解决方法:
1、先关闭你的VS。
2、打开 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files 找到你刚才调试的程序的名字的目录删除它。
3、关闭IIS服务器,重开一次。
4、用IE浏览一下你的程序,问题解决。
都是次序惹的祸,最好是先IIS 再VS
******************************************
问题:解决asp.net用户ASPNET登录失败
1.打开数据库企业管理器,然后选择数据库---安全性---找到刚才报错的哪个'XXX/ASPNET' --右键"属性";
2.选择"用户映射"选项---在里面将我们要访问的数据库选中
3.先别点确定---再选择我们刚才选择的哪个数据库,在下面的"数据库角色成员身份"里要选择"db_owner"权限
******************************************
资料来自网上,对作者表示感谢,这里只是把一些可能遇到的问题全部归总整理了下,希望对各位有帮助,我自己也是搞了好久,现在搞定了,可以运行了^_^