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 msdtcMSDTC服务即Distributed

Transaction Coordinator用来协调跨多个数据库、消息队列、文件系统等资源

管理器的事务的服务。确认在事件查看器中msdtc服务已经正常启动(这步很关

键,如果没有,重新启动下电脑看看),这里有个技巧,查看MSDTC服务是否启

动,执行net stop msdtc提示正在停止和停止成功就对了,msdtc - install

下就OK. 如果在“COM+应用程序”中,没有“IIS Out-Of-Process Pooled

Applications”应用程序,进行如下操作:

开始菜单->运行->cmd打开命令提示窗口 输入

cd %windir%/system32/inetsrv切换到system32inetsrv目录 输入rundll32

, CreateIISPackage(注意:必须准确键入"CreateIISPackage"它区

分大小写),然后输入regsvr32 关闭并重新打开"组件服务",问

题解决。

出现此错误的原因有多个,但最主要的原因是IWAM_MACHINE账号在

Active Directory(SAM)IISmetabase数据库与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服务”假死现象

也随之解决了。

当然,解决问题的过程同样的系统环境也不尽相同,在这里谈一下我安

装的小挫折,希望可以给碰到相同问题的朋友有些提示作用。