VS2005宏无法运行的问题(打了补丁MS14-009之后)

VS2005宏无法运行的问题(打了补丁MS14-009之后)

 

 

部门很多同事都是使用VS的宏来给源文件添加文件头,给函数、类添加注释等等,大概是142月份之后(根据lucifer提供的时间),这些宏突然不工作了……包括VS2005VS2008VS2010等等。

昨天我听到这个事情之后,因为这些宏里面的一些函数是我提供的,我当时马上测试了下自己的VS2005的宏的情况,发现真的不工作了,也没有错误提示,反正就是毫无反应,我有个把月没有写新功能代码,因此这段时间很少用到宏,竟然没有发现宏已经失效了,当时我的第一反应是不是什么补丁导致的,查了下最近两个月的补丁没有发现VS的补丁,也没有发现和VBS有直接关系的补丁。

有点蛋疼,在百度以“vs2005 宏不能运行”为关键字搜了一堆文不对题的玩意,可能是关键字不好吧,找到一篇说是VS2005SP1没装的缘故,显然不是这个问题,我的SP1都装了几年了。没办法,去google用蹩脚的英文尝试了一下,关键字“vs2005 macro stop work”,没找到2005的,搜出来一堆2010的,后来一看,竟然都是正解!有兴趣的可以看看这篇blog里面说的问题:http://visualstudioextensions.vlasovstudio.com/2014/02/13/visual-studio-2010-macros-stop-working-after-february-2014-windows-update/


 

从这篇文章里面可以找到一个相关的微软2月份补丁(MS14-009,还真是补丁的问题)http://technet.microsoft.com/zh-cn/security/bulletin/MS14-009,这是一个.net framework的补丁集,里面有修一个CVE-2014-0295漏洞,我估计这个问题和修该漏洞有一定的关系。

通过这篇文章又找到了微软的这篇Paperhttp://support.microsoft.com/kb/2934830),果然都是微软下的坑,开篇是这样说的:安装对应于 Microsoft .NET Framework Microsoft 安全公告 MS14-009 的更新后,反射类型的封送处理在DCOM 上可能无法按预期正常运行。此外,Microsoft Visual Studio 中的宏功能可能也无法按预期正常运行

好吧,啥都不说了,解决方法呢,至少是有两种,一种是卸载你装的这批补丁,不过我不建议你这么做,为了解决问题把系统至于不安全的境地不是好的解决方法。另一种就是这篇微软的文章里面的“替代方法”部分说的方法了。

譬如VS2005SP1可以修改“系统盘\Program Files\Common Files\Microsoft Shared\VSA\8.0\VsaEnv下的文件Vsmsvr.exe.config,在里面的runtime节点下增加一个AllowDComReflection子节点,并给它的enabled属性赋值为1或者true。“<runtime> <AllowDComReflection enabled="1"/></runtime>



如果是x64系统就把Program Files换成Program Files(x86),其它的VS环境都差不多的,自己看看微软的那个文章捣腾吧。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值