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

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

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

有点蛋疼,在百度以“vs2005
宏不能运行”为关键字搜了一堆文不对题的玩意,可能是关键字不好吧,找到一篇说是VS2005的SP1没装的缘故,显然不是这个问题,我的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漏洞,我估计这个问题和修该漏洞有一定的关系。

通过这篇文章又找到了微软的这篇Paper(http://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环境都差不多的,自己看看微软的那个文章捣腾吧。

最新文章

  1. 获取PC或移动设备的所有IP地址
  2. ural 1219. Symbolic Sequence
  3. [Everyday Mathematics]20150226
  4. redmine和svn server的部署
  5. Struts2运行机制(MVC)的分析:
  6. ASP.NET MVC之单元测试
  7. vc6 pbo 文件为空的解决方法
  8. Sql语句构造类,多字段新增或修改时,拼装sql语句比较方便
  9. JPA(API)
  10. Sharding-jdbc实现分库分表
  11. Cs231n课堂内容记录-Lecture 9 深度学习模型
  12. IOS如何安装ipa文件
  13. 多线程中实现ApplicationContextAware接口获取需要的bean,applicationContext.getBea未返回也未报错
  14. 三、Spring Boot 日志
  15. 愛拼才會贏--IPA--闽南语
  16. 在触屏设备上面利用html5裁剪图片
  17. Windows删除指定时间之前指定后缀名的文件
  18. Day18 (二)反射
  19. 快速php日志,写内容到文件,把日志写到log文件
  20. [笔记]Python中模块互相调用的例子

热门文章

  1. PHP学习(4)——数据类型
  2. Linux 下的一个全新的性能测量和调式诊断工具 Systemtap, 第 3 部分: Systemtap
  3. 学习TensorFlow,调用预训练好的网络(Alex, VGG, ResNet etc)
  4. Swift Review总结:从 Swift Style 开始
  5. 一个环形公路,上面有N个站点,A1, ..., AN,其中Ai和Ai+1之间的距离为Di,AN和A1之间的距离为D0。 高效的求第i和第j个站点之间的距离,空间复杂度不超过O(N)。
  6. ROS_Kinetic_x ROS栅格地图庫 Grid Map Library
  7. FFmpeg的HEVC解码器源代码简单分析:CTU解码(CTU Decode)部分-PU
  8. Dynamics CRM2013/2015 检索实体属性的两种方式
  9. 剑指Offer——腾讯+360+搜狗校招笔试题+知识点总结
  10. 1090. Highest Price in Supply Chain (25) -计层的BFS改进