用VB或是VBA开发的朋友,特别是会用到COM控件的,这种故障应该是碰到过的,那就是弹出对话框提示“对于指定的操作,该主题不受信任”(见下图)。
据我个人所知的,受影响的控件有MSCOMCT2、Mscomm32、MSDataGrid、MSFlexGrid、MSWinsock。也就是说如果你在使用VB、VBA开发的时候,在添加某一控件的时候,出现上述画面中的提示,那么下面的内容可以帮你解决这一问题。
一、原因
为什么会出现上述提示,因为在VB(包含VBA)中的AcitveX控件的漏洞可能允许远程执行代码,请情参看
MS08-070。
微软为了封堵这一漏洞便发布补丁
KB960715,而这一补丁的作用是将上面提到的这些控件给禁用了,这就是添加此类控件时出现错误提示的原因。
二、临时解决方案
如果在一个脱机(没有网络)的开发环境中,临时的解决方案便是将
KB960715补丁卸载(如果删除了补丁卸载信息,可重新安装一次该补丁或从别的机器中复制卸载需要的文件,然后再卸载),然后再添加这些控件。
但此解决方案存在弊端,下次自动更新重新装上
KB960715补丁时,故障又会重现。
三、完美解决方案
首先我们看一下微软是如何封堵这一漏洞的吧(
Q240797)。
针对VB环境
1.下载并安装
VB SP6。
针对VBA环境
1.下载并安装
VB SP6。
3.电脑中搜索扩展名为“.exd”的文件(控件的缓存文件,需要在高级选项中选择“搜索隐藏的文件和文件夹”),然后将其删除。
4.将控件重新拖拽。
特别说明:如果机器中没有安装VB,则VB SP6是无法安装的,当然其累积更新也就无法安装。具体的解决办法是可以先在一台装有VB的电脑上安装这些补丁,然后将相应的控件文件复制到开发环境的那台机器的(systemroot\windows\system32)路径下覆盖旧版文件,并使用Regsvr32进行控件注册即可。
本文转自windyli 51CTO博客,原文链接:http://blog.51cto.com/windyli/282409
,如需转载请自行联系原作者