来源:http://blog.csdn.net/tyronewj/article/details/6304006
http://blog.163.com/crazy20070501@126/blog/static/128659465201210227257815/
一、彻底解决兼容问题:Windows 7下载安装 Visual C++ 6.0(VC6) 全程图解
网上成千上万的诸如 “有没有Win7兼容的VC6的下载”、“Win7下Visual C++ 6.0不兼容问题” 之类的问题,多数意思是VC6和Win7不兼容,而现在不少学校或是考试用的还是Visual Studio套件,新的Win7或Vista系统下要安装怎么办?
说实话我也一直没有试过,所以也想当然的认为Win7下就不能安装VC6,压根就100%不兼容?一直使用高版本的VS(如VS2008和现在用的VS2010)的我今天亲身在Win7下安装一次试试。
为了说明问题,我这里下载了一个简体中文版的VC6.0:Visual C++ 6.0 简体中文企业版 集成SP6完美版
运行setup.exe安装程序,会弹出如下的的 程序兼容性助手 提示框,这个是Win7在警告用户vc6存在兼容性问题:此程序存在已知的兼容性问题。如下图,选中 不再显示此消息,点“运行程序”。(之后再有遇到“此程序存在已知的兼容性问题”的提示时候,也按这个做法处理!)
接着安装,进入选择安装类型这一步的时候,要注意。点“Custom”自定义安装类型:
Custom自定义安装里,点中Tools组件,更改选项:
把其中的 OLE/Com Object Viewer 取消,不选择:
再返回到组件选择的时候,Tools就变为灰色的勾了,因为里面我们取消了 OLE/Com Object Viewer 这一顶:
其他的就默认安装就可以了,要注意的上面已经都交代了,安装完成,出现安装成功的提示:
安装完成后,启动VC6的时候,也出现“此程序存在已知的兼容性问题”的提示,按上面第一步中的处理:
选中 不再显示此消息,点“运行程序
启动后我们新建一个工程和一个c++源文件,编译运行之,如下图:
OK,安装完成!!!
不过,还有一个小问题,就是VC6打开一个文件或工程的时候,会导致VC6崩溃而关闭。
二、Win7下VC6打开文件报错导致其崩溃的解决办法
根据我之前写的这个文章:Windows 7下载安装 Visual C++ 6.0(VC6) 全程图解 在Windows7下安装Visual C++ 6.0后,遇到一个致命的问题打开文件的时候出现异常而导致VC6崩溃,如下图所示:
微软针对这个问题发布了一个补丁,原补丁是未编译的VC6工程,大家可以手动编译一下。
PS:先在微软网站:http://download.microsoft.com/download/vc60ent/s1/6.0/w9xnt4/en-us/filetool.exe,下载这个FileTool.exe文件。
(1)双击运行,点击"Unzip" , 复制"unzop To Folder" 的目录名;
(2)打开这个目录后(里面是一些程序文件),通过搜索找到dsw后缀名的那个[FileTool.dsw],此即工作空间,用vc6打开并正常编译,在刚刚目录下会生成一些文件,多出一个Debug文件夹,我们需要的是里面的FileTool.dll文件。
使用已编译的FileTool.dll方法:
1. 把FileTool.dll文件拷贝至 C:\Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns 文件夹下;
2. 在cmd下手动注册该dll文件:regsvr32 "C:\Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns\FileTool.dll";
PS: 如果出现“DllRegisterServer的调用失败”问题,下面提供解决办法。
在日常的工作中,用regsvr32 命令注册dll组件是,会碰到模块"xxx.dll"已加载,但DllRegisterServer的调用失败。特别是再在xp的系统上能正确注册,但是在win7系统上却出现上述问题。
解决办法:程序 - 附件 - 命令提示符,在”命令提示符“上点击鼠标右键,选择”以管理员身份运行“命令,这个时候将打开Dos命令窗口,现在就按正常写法输入Regsvr32 xxx.dll,就能够注册成功了。
针对本文情况,需在Dos命令窗口中输入:regsvr32 "C:\Program Files (x86)\Microsoft Visual Studio\Common\MSDev98\AddIns\FileTool.dll",即可以成功将其注册。
3. 打开VC6,右击工具栏,自定义... -> 附加项和宏文件,选中 FileTool Developer Studio Add-in 附加项,
这个时候就会出现 A 和 O 的文件栏按钮。
A -- Add File To Project
0 -- Open
今后再打开文件/工程或是添加文件到工程的时候,用这两个按钮,不要用VC6默认的了。这样就不会再出问题了 。
最后,还应该在菜单栏内做相应的改动,移除无法使用的旧Open(打开)命令,换上新的:
具体做法如下:
1. 从本文下方的下载地址下载FileTool.dll,并将FileTool.dll解压至VC安装目录中。
2. 在VC6.0中点击Tools(工具)——Customize(定制)
3. 在出现的“Customize”对话框中,点击Add-I and Macro Files(附加项和宏文件)标签
4. 点击Browse(浏览),定位刚才加压出来的FileTool.dll文件,点击确定,然后点击OK保存设置
5. 此时VC中会出现一个上面只有两个图标的工具栏,点击其右上角的“X”按钮将其关闭,然后关闭VC6.0并重新启动程序
6. 还是在VC6.0中点击Tools(工具)——Customize(定制)
7. 在Customize对话框中点击Keboard(键盘) 标签
8. 从Category(类别)的下拉菜单框中选择File(文件)
9.在Commands(命令)窗口中选择FileOpen
10.在Current keys(当前键)窗口中选择CTRL+O条目,并点击Remove(移去)
11.从Category(类别)的下拉菜单框中选择Project(工程)
12.在Commands(命令)窗口中选择IertFilesIntoProject(或是InsertFilesIntoProject),如果之前给它注册了快捷键,则按照上面所说步骤移除之,默认情况下它是没有快捷键的
13.从Category(类别)的下拉菜单框中选择Add-I(或是Add-ins)
14.这时Commands(命令)窗口中应该已经多出了AddFileToProject和OpenFile两个条目,可以给它们分配快捷键了,选择OpenFile条目,然后点击Press New Shortcut Key(按下新快捷键)输入框,按下想设置的快捷键或快捷键组合(如打开文件默认的快捷键CTRL+O),点击Assign
可以以同样的方法为其它的命令设置快捷键
1. 在VC6.0中点击Tools(工具)——Customize(定制)
2. 点击主界面的File(文件)菜单(非Customize对话框中的),并将弹出菜单中的Open(打开)命令拖拽至弹出菜单之外并释放(就是将原来的打开命令移除掉方便下一步添加进新的可用的打开命令)
3. 点击主界面的Project(工程)菜单(非Customize对话框中的),并将弹出菜单中的Add To Project(添加到工程)命令拖拽至弹出菜单之外并释放
4. 在Customize(定制)对话框中选择Commands(命令)标签
5. 在Category(类别)列表中选择Add-i(或是Add-ins)
6. 点击主界面的File(文件)菜单(非Customize对话框中的),将OpenFile命令(图标为字母O)拖动到之前Open(打开)命令所在位置
点击主界面的Project(工程)菜单(非Customize对话框中的),将AddFileToProject命令(图标为字母A)拖动到之前Add To Projec(添加到工程)命令所在位置
注意:解压的FileTool.dll文件不要删除,如删除则上述改动将无效。
这样,VC6.0中无法打开文件和无法向工程中添加文件的问题就解决了。
PS:如果出现无法加载的情况:dllregisterserver return a error,请把那个dll注册一下管理员身份运行你的cmd.exe,到你放那个dll的目录,输入如下命令,然后用上面的方法做,就行了regsvr32 如果有错误码:0x80070005报这个错误码是指权限不够,用管理员权限运行就行了
转载于:https://blog.51cto.com/happyliu/1571274