VS2005宏无法运行的问题(打了补丁MS14-009之后)
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之后)的更多相关文章
- 2014.8.27 Vs2005宏的使用
终于知道怎么像在Word里那样使用宏了! 1.vs2005必须装补丁1 2.在C:\Program Files (x86)\Common Files\microsoft shared\VSA\8.0\ ...
- Delphi 运行Word VBA 宏 删除软回车
Sub 整理网页()'整理网页:删除软回车.删除空白段.使段落文字两端对齐Selection.WholeStory Selection.Find.ClearFormatting S ...
- VC++非MFC项目中如何使用TRACE宏
记得原来尝试学MFC的时候觉得有一个TRACE可以在Debug时向VS的调试输出窗口输出字串符,用来调试时跟踪变量很方便. 然则如果不是MFC项目或者ATL的项目的话是不能使用这个宏的.这时有一个没有 ...
- C中的预编译宏定义
可以用宏判断是否为ARC环境 #if _has_feature(objc_arc) #else //MRC #endif C中的预编译宏定义 -- 作者: infobillows 来源:网络 在将一 ...
- VC 宏与预处理使用方法总结
目录(?) C/C++ 预定义宏^ C/C++ 预定义宏用途:诊断与调试输出^ CRT 和 C 标准库中的宏^ NULL 空指针^ limits.h 整数类型常量^ float.h 浮点类型常量^ m ...
- VS2005 VS2008 Manifest 配置问题总结
一.问题 编译某个遗留工程后,运行程序时报错,“由于应用程序的配置不正确,应用程序无法启动.重新安装应用程序可能会解决这个问题.” 查看生成的Manifest文件如下: <?xml versio ...
- ASM-51 宏汇编使用手册
A51与ASM51基本相同 ASM-51 宏汇编主要用来开发Inter8051系列单片机,它具有宏处理,数据处理,列表处理和条件处理等多种功能.源程序的编写完全采用 Inter标准助记符和行格式. ...
- Debug 运行正常,Release版本不能正常运行总结(转)
引言 如果在您的开发过程中遇到了常见的错误,或许您的Release版本不能正常运行而Debug版本运行无误,那么我推荐您阅读本文:因为并非如您想象的那样,Release版本可以保证您的应用程 ...
- Excel VBA(宏):添加宏
写在前面: .编写宏,打开VBA,双击ThisWorkbook对当前工作薄进行编写宏:双击Sheet1,对整个sheet编写宏: 或者创建模块,在模块里,编写.调试代码. 打开VBA的方法见第一讲,结 ...
随机推荐
- postgresql跨服务器复制数据库
假设名为dbname数据库需要从A服务器拷贝到B服务器 接收服务器B postgres用户 需先重置B服务器postgres系统用户的密码,使之与数据库用户postgres一致: passwd -d ...
- windows上安装nodejs,升级npm,安装webpack指南
安装nodejs https://nodejs.org/en/ 安装webpack和其他一些常用的 npm install -g node-gyp webpack coffee-script 监控 w ...
- 操作系统内核Hack:(一)实验环境搭建
操作系统内核Hack:(一)实验环境搭建 三四年前,心血来潮,入手<Orange's:一个操作系统的实现>学习操作系统内核,还配套买了王爽的<汇编语言(第二版)>和<80 ...
- linux:关于Linux系统中 CPU Memory IO Network的性能监测
我们知道:系统优化是一项复杂.繁琐.长期的工作.通常监测的子系统有以下这些:CPUMemoryIO Network 下面是常用的监测工具 Linux 系统包括很多子系统(包括刚刚介绍的CPU,Memo ...
- Objective-C与Java类的一些区别
Objective-C与Java类的一些区别 OC类和C一样,需要有声明和定义,先上一段OC代码 #import <Foundation/Foundation.h> /* * 声明一个Pe ...
- Android 5.0新控件——FloatingActionButton(悬浮按钮)
Android 5.0新控件--FloatingActionButton(悬浮按钮) FloatingActionButton是5.0以后的新控件,一个悬浮按钮,之所以叫做悬浮按钮,主要是因为自带阴影 ...
- Android自定义View(LineBreakLayout-自动换行的标签容器)
最近一段时间比较忙,都没有时间更新博客,今天公司的事情忙完得空,继续为我的自定义控件系列博客添砖加瓦.本篇博客讲解的是标签自动换行的布局容器,正好前一阵子有个项目中需要,想了想没什么难度就自己弄了 ...
- React Native之ScrollView控件详解
概述 ScrollView在Android和ios原生开发中都比较常见,是一个 滚动视图控件.在RN开发中,系统也给我们提供了这么一个控件.不过在RN开发中 ,使用ScrollView必须有一个确定的 ...
- SpringMVC常用配置
关于Spring.SpringMVC我们前面几篇博客都介绍了很多,但是还不够,这些框架中涉及到的注解.配置非常多,那么我们今天再来介绍一个SpringMVC的基本配置,灵活的使用这些配置,可以让我们在 ...
- Android判断当前系统语言
Android获取当前系统语言 getResources().getConfiguration().locale.getCountry() 国际化常用语言 中文: getResources().get ...