2023年11月27日发(作者:)
win7组件服务COM+应用程序编录错误解决办法
计信1032 周雯鑫
有时候在安装某个应用程序的过程中会出现下面的错误提示:无法创建COM
应用程序!但是可以在安装程序完成后,使用组件服务控制台创建空的COM应用
程序,并为其添加所需要的组件,但是在使用windows自带的组件服务时,点击
COM+应用程序,会报编录错误(我在安装Ming-WebReport的时候就遇到了这样
的问题,后来经过一系列探索,成功解决,希望分享给有需要的人)。
一般情况下,我们遇到过的COM+应用程序编录错误共有两个:(1)第
一个是打开COM+应用程序时出现“编录错误,执行最后操作发生错误, 错误
代码8007042C-依赖服务或组无法启动,事件或日志包含其他错误疑难信息”,
(2)第二个是打开COM+应用程序时出现“错误代码8004E00F -COM+ 无法与
Microsoft 分布式事务协调程序交谈”。这个问题也是IIS常遇到的。
对于第一个错误,解决办法其实很简单,只需将“服务”中的“System
Event Notification Service”服务启动即可,它是一个监视系统事件的
COM+ 事件系统服务,必须确保启动。但是启动后,再点击或双击COM+应用
程序时就可能出现第二个错误,对于第二个错误的解决办法,网上有很多答案,
(在已经安装了IIS的情况下)现总结如下:
(1)删除注册表中的键
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSDTC 、
HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSDTC
HKEY_CLASSES_ROOTCID
(2)在开绐—>运行 中依次输入下列三行命令:
1、停止MSDTC服务:net stop msdtc
2、卸载MSDTC服务:msdtc -uninstall
3、重新安装MSDTC服务:msdtc –install
(3)启动MSDTC服务:net start msdtc。MSDTC服务即Distributed
Transaction Coordinator用来协调跨多个数据库、消息队列、文件系统等资源
管理器的事务的服务。确认在事件查看器中msdtc服务已经正常启动(这步很关
键,如果没有,重新启动下电脑看看),这里有个技巧,查看MSDTC服务是否启
动,执行net stop msdtc,提示正在停止和停止成功就对了,再msdtc - install
下就OK. 如果在“COM+应用程序”中,没有“IIS Out-Of-Process Pooled
Applications”应用程序,进行如下操作:
开始菜单->运行->cmd打开命令提示窗口 输入
cd %windir%/system32/inetsrv切换到system32下inetsrv目录 输入rundll32
, CreateIISPackage(注意:必须准确键入"CreateIISPackage"它区
分大小写),然后输入regsvr32 关闭并重新打开"组件服务",问
题解决。
出现此错误的原因有多个,但最主要的原因是IWAM_MACHINE账号在
Active Directory(或SAM),IIS的metabase数据库与COM+组件中的密码不匹
配不同步造成的。因此解决问题的关键在于使这三方的密码同步起来。密码同步
的方法如下:
1.在本地账号管理器中更改IWAM_MACHINE账号的密码.(即启动IIS进程帐号)
2.使用新的密码重设IIS Metabase数据库.(即编辑匿名访问使用的用户帐号)
3.同步COM+应用程序账号密码
(一)更改IWAM_MACHINE账号的密码
1、选择“开始—程序—管理工具—计算机管理—本地用户和组—用户”选中
右面的“IWAM_MACHINE”右键选择“设置密码”这里我们设置成test
(二)使用新的密码重设IIS Metabase数据库。(即编辑匿名访问使用的用
户帐号)
方法一:在运行中输入CMD:打开DOS命令后输入
C:InetpubAdminScriptsadsutil SET w3svc/WAMUserPass "yourpassword"
方法二:选择“默认Web 站点属性—目录安全性标签—编辑—匿名访问和验
证控制”在弹出的框中选中“匿名访问”,单击“编辑按钮—用户名浏览”,选
择“IWAM_MACHINE”,密码框中输入test,选中“允许IIS控制密码—确定”。
如果弹出对话框:“非本地用户帐号不支持密码同步。您真要继续?”确定即可。
确定关闭所有对话框。
(三)同步com+应用程序所用的IWAM_MACHINE的密码
使用组件服务mmc管理单元
(1)启动组件服务管理单元:选择“开始—运行—mmc”,启动管理控制台,
打开“添加/删除管理单元”对话框,将“组件服务”管理单元添加上。
(2)找到“组件服务—计算机—我的电脑—com+应用程序—out-of-process
pooled applications”,右击“out-of-process pooled applications—属
性”。
(3)切换到“out-of-process pooled applications”属性对话框的“标
识”选项卡。选择“此用户”,浏览,选择用户名“IWAM_MACHINE”。这些都是
缺省的。在下面的“密码”和“确认密码”文本框内输入正确的密码“test”,
确定退出。
(4)系统如果提示“应用程序被一个以上的外部产品创建。你确定要被这
些产品支持吗?”时确定即可。
(5)如果我们在IIS中将其它一些web的“应用程序保护”设置为“高(独
立的)”,那么这个web所使用的com+应用程序的iwam账号密码也需要同步。
以上第二个错误的解决办法是在已经安装好IIS的情况下,不过win7很多情
况下IIS都没有安装(我的就是),这时解决这个问题就比较简单了,只需要在
启动MSDTC服务后,安装好IIS就可以啦,win7下安装IIS的具体步骤是:依
次打开“控制面板—程序—程序和功能”,点击左侧的“打开或关闭windows
功能”,根据需要选择Internet信息服务中功能,然后确定即可,问题解决,
再点击“com+应用程序”(有的可能需要重启),应该不会出现以上的错误
【原】“SQL Server 2005 COM+ 目录要求”警告
安装SQL2005的时候,当你看到几个黄色的叹号掩映在绿色的对号之中的时候,
你的心情会怎么样?
我在遇到这个问题的时候是很郁闷的,安装SQL2005几乎花了我一上午的时间,
总是出错。现在我将我找到的解决方案共享给大家!
SQL Server 2005 COM+ 目录要求警告
①。启动Distributed Transaction Coordinator 服
务 /08到北京
打开服务,在服务中找到Distributed Transaction Coordinator服务,
选择“属性”;
在“登录”选项卡中,选择“此帐户”,帐户名填写“NT
AUTHORITYNetworkService”,密码为空;
在点击“确定”后重新启动服务。
或者,在命令行下运行 msdtc -uninstall ,卸载 msdtc 服务;
再运行 msdtc -install ,安装 msdtc 服务。
MSTDC服务成功启动,组件服务中“COM+应用程序”可以访问。
如果你也遇到了Distributed Transaction Coordinator 服务不能启
动 错误:Distributed Transaction Coordinator 服务因 3221229584
(0xC0001010) 服务性错误而停止。这样解决:
点开始→运行→输入命令"msdtc -resetlog",运行该命令即可.
② 按照下列过程重新安装 COM+ /08到北京
安装组件服务管理单元
在 Windows 桌面上,单击“开始”,然后单击“运行”。
在“打开”框中,键入 MMC,然后单击“确定”。
在“控制台”窗口中,单击菜单栏上的“文件”,然后单击“添加/删
除管理单元”。
在“添加/删除管理单元”窗口,单击“添加”。
在“添加独立管理单元”窗口,从管理单元列表中选择“组件服务”,
然后单击“添加”。
单击“关闭”以关闭“添加独立管理单元”窗口,然后单击“确定”以
关闭“添加/删除管理单元”窗口。
在“控制台根节点组件服务”窗口,展开“组件服务”树。这就是当
COM+ 出现问题时,错误消息可能发生的地方。
再次运行 SQL Server 2005 安装程序。如果收到错误消息,请重新安
装 COM+。
重新安装 COM+
从控制面板的“添加或删除程序”中,单击“添加/删除 Windows 组
件”。
在“Windows 组件向导”中,不对选择做任何更改,单击“下一步”。
一直单击以完成向导,然后再次运行 SQL Server 2005 安装程序。
解决了COM+问题后,在后面的“检测已经安装的IIS服务”假死现象
也随之解决了。
当然,解决问题的过程同样的系统环境也不尽相同,在这里谈一下我安
装的小挫折,希望可以给碰到相同问题的朋友有些提示作用。
发布评论