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环境都差不多的,自己看看微软的那个文章捣腾吧。

VS2005宏无法运行的问题(打了补丁MS14-009之后)的更多相关文章

  1. 2014.8.27 Vs2005宏的使用

    终于知道怎么像在Word里那样使用宏了! 1.vs2005必须装补丁1 2.在C:\Program Files (x86)\Common Files\microsoft shared\VSA\8.0\ ...

  2. Delphi 运行Word VBA 宏 删除软回车

    Sub 整理网页()'整理网页:删除软回车.删除空白段.使段落文字两端对齐Selection.WholeStory        Selection.Find.ClearFormatting    S ...

  3. VC++非MFC项目中如何使用TRACE宏

    记得原来尝试学MFC的时候觉得有一个TRACE可以在Debug时向VS的调试输出窗口输出字串符,用来调试时跟踪变量很方便. 然则如果不是MFC项目或者ATL的项目的话是不能使用这个宏的.这时有一个没有 ...

  4. C中的预编译宏定义

     可以用宏判断是否为ARC环境 #if _has_feature(objc_arc) #else //MRC #endif C中的预编译宏定义 -- 作者: infobillows 来源:网络 在将一 ...

  5. VC 宏与预处理使用方法总结

    目录(?) C/C++ 预定义宏^ C/C++ 预定义宏用途:诊断与调试输出^ CRT 和 C 标准库中的宏^ NULL 空指针^ limits.h 整数类型常量^ float.h 浮点类型常量^ m ...

  6. VS2005 VS2008 Manifest 配置问题总结

    一.问题 编译某个遗留工程后,运行程序时报错,“由于应用程序的配置不正确,应用程序无法启动.重新安装应用程序可能会解决这个问题.” 查看生成的Manifest文件如下: <?xml versio ...

  7. ASM-51 宏汇编使用手册

    A51与ASM51基本相同   ASM-51 宏汇编主要用来开发Inter8051系列单片机,它具有宏处理,数据处理,列表处理和条件处理等多种功能.源程序的编写完全采用 Inter标准助记符和行格式. ...

  8. Debug 运行正常,Release版本不能正常运行总结(转)

    引言      如果在您的开发过程中遇到了常见的错误,或许您的Release版本不能正常运行而Debug版本运行无误,那么我推荐您阅读本文:因为并非如您想象的那样,Release版本可以保证您的应用程 ...

  9. Excel VBA(宏):添加宏

    写在前面: .编写宏,打开VBA,双击ThisWorkbook对当前工作薄进行编写宏:双击Sheet1,对整个sheet编写宏: 或者创建模块,在模块里,编写.调试代码. 打开VBA的方法见第一讲,结 ...

随机推荐

  1. Dynamics CRM2016 Update or Create parentcustomerid in Contact using web api

    联系人实体中有个特殊的字段parentcustomerid 在通过web api创建或更新记录时,如果在给这个字段赋值时当做查找字段对待的话,那你就会遇到问题了,报错信息如下 正确的赋值方式如下

  2. Android开发基础规范(一)

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52602487 前言:Androi ...

  3. Java基本语法-----java注释

    1注释的作用 通过注释提高程序的可读性,是java程序的条理更加清晰,易于区分代码行与注释行.另外通常在程序开头加入作者,时间,版本,要实现的功能等内容注释,方便后来的维护以及程序员的交流. 2注释的 ...

  4. require.js使用步骤

    以superagent为例 1.设置lib目录 requirejs.config({ baseUrl: 'libs' }); 2. 使用SuperAgent require(['superagent' ...

  5. Java: How to resolve Access Restriction error

    Issue: Access restriction: The constructor 'BASE64Decoder()' is not API (restriction on required lib ...

  6. 如何使用分布是缓存Hazelcast

    使用Hazelcast 1.在pom.xml中配置对Hazelcast的依赖 <dependencies> <dependency> <groupId>com.ha ...

  7. java基本类型(数值范围):浮点的底层表示定义,float计算快一些

    Java八种基本类型: 六种数字类型(四个整数型,两个浮点型), 一种字符类型, 一种布尔型. 具体如下 1.整数:包括int,short,byte,long 2.浮点型:float,double 3 ...

  8. sql的索引:网上看到不错,整理成自己的东西

    数据库建立索引可以提高查询速度.假如我们创建了一个 mytable表: CREATE TABLE mytable(ID INT NOT NULL,username VARCHAR(16) NOT NU ...

  9. CMake设置FOLDER失败及解决

    CMake可以设置FOLDER属性,用来分目录组织VC中的多个工程. FOLDER: Set the folder name. Use to organize targets in an IDE. T ...

  10. (NO.00004)iOS实现打砖块游戏(二):实现游戏主界面动画

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 一个内容不错的游戏也要一个好的包装.玩家进入游戏时第一眼看到的是 ...