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. 安卓 新版本 获取wifi状态网络是否可用等

    写下这篇文章目的:当我学习的和百度看看如何获取网络状态 发现都是一些比较老的方法 API23已结过时 所以在此写下记录 ,我不明白国内为什么那么少 那么我们来看看旧方法 package com.che ...

  2. Netty 4源码解析:请求处理

    Netty 4源码解析:请求处理 通过之前<Netty 4源码解析:服务端启动>的分析,我们知道在最前端"扛压力"的是NioEventLoop.run()方法.我们指定 ...

  3. Linux下文件的mtime/atime/ctime研究

    概述 在Linux下,对于某一个文件或文件夹时间的描述有三种:文件修改时间mtime,文件访问时间atime,文件状态改变时间ctime.在Linux下无法获取到文件的创建时间,因为根本就没有保存这个 ...

  4. NestedScrollView嵌套ViewPager

    NestedScrollView嵌套ViewPager 效果图 重写ViewPager package com.kongqw.kbox.view; import android.content.Con ...

  5. 【SSH系列】spring中为什么要使用IOC

    开篇前言 在前面的博文中,小编主要简单的介绍了spring的入门知识,随着学习的深入,我们知道spring最核心的两大技术,IOC和AOP,这两个技术也是spring最耀眼的地方,在后续的博文中小编将 ...

  6. android Handler机制之ThreadLocal详解

    概述 我们在谈Handler机制的时候,其实也就是谈Handler.Message.Looper.MessageQueue之间的关系,对于其工作原理我们不做详解(Handler机制详解). Messa ...

  7. 23 服务音乐的启动Demo4

    注意如果音乐服务和Activity在一个应用中那么将不会因为绑定的Activity销毁而关闭音乐 MainActivity.java package com.qf.day23_service_demo ...

  8. Linux 高性能服务器编程——TCP/IP协议族

    1 TCP/IP协议族体系结构 数据链路层:     职责:实现网卡接口的网络驱动程序,一处理数据在物理媒介(如以太网.令牌环等)上的传输.     常用协议:ARP协议(地址解析协议),RARP协议 ...

  9. 在OC代码中创建Swift编写的视图控制器

    背景 近日在和一群朋友做项目,我和另一位同学负责iOS客户端,我是一直使用OC的,而他只会Swift,因此在我们分工协作之后,就需要把代码合在一起,这就牵扯到如何在TabbarController中添 ...

  10. Dynamics CRM 视图显示列的拷贝—view layout replicator

    在视图设置的时候很多人会遇到这样的问题,要设置多张视图,而这多张视图可能除了筛选条件不同外其他的均相同,手动去设置是件重复的令人非常头痛的事情,如果能够拷贝那就相当完美了. 本篇即介绍视图显示列的拷贝 ...