最近,在安装软件时,加载一会子总会弹出一个框:无法访问Windows Installer服务… 这样的错误,导致安装失败。

后来发现自己机器的COM组件加载也都出了问题,现象:

1、开始-运行-dcomcnfg,进入组件服务管理页面中,组件服务-计算机-我的电脑 下,COM+应用程序

     和DCOM配置都显示不正常,点DCOM配置目录,管理页面就自动关闭了。郁闷…

2、查看事件日志,发觉有如下错误:

     运行时环境检测到其内部状态存在不一致。这说明进程中存在潜在的不稳定性,可能是由于COM+应用程序中

     运行自定义组件、COM+ 应用程序使用的组件或其他因素引起的。      

3、Google后发现有这样的一片解决方案,E文的,这里就简单描述其原因和实施步骤

原因:COM+ catalog被毁坏了

解决办法:(不适用Windows vista、Windows Server 2008、Windows Server 2008 R2、Windows 7)

3.1  Rename %windir%\system32\Clbcatq.dll to %windir%\system32\~Clbcatq.dll

3.2  停止COM+ Event System Service,并设置其启动类型为非自动

3.3  重启电脑并进入注册表(regedit)

3.4  删除注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3

3.5  命令行:cd %windir%, rmdir /s Registration

3.5  控制面板-添加删除程序-添加删除windows组件,直接next重新安装一遍 

over. 

补充:如果IIS已经安装(其会安装好几个COM+组件),则上述过程会导致其丢失掉这几个组件。

        命令行rundll32 %windir%\system32\inetsrv\wamreg.dll,CreateIISPackage来创建。

 注意: 如果上述过程中rename/delete等操作被阻止掉,则在安全模式下进行此过程操作即可。

 至此COM+错误解决,但Windows Installer无法访问的错误依旧存在,继续。

4、网上Google,有好多种,这里只记录我采用的那种。

4.1  重写注册表,用notepad编辑如下内容并保存为.reg文件,然后双击运行之即可完成导入

 Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer] 

“ImagePath”=- 

“ImagePath”=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\ 

74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,\ 

00,73,00,69,00,65,00,78,00,65,00,63,00,2e,00,65,00,78,00,65,00,20,00,2f,00,\ 

56,00,00,00 

4.2 安全模式下键入 msiexec /regserver即可。 

 

版权声明:本文为FallingAutumn原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/FallingAutumn/archive/2010/02/06/1664949.html