http://blog.163.com/crazy20070501@126/blog/static/128659465201210227257815/ Stupid Bastard
一、彻底解决兼容问题: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打开文件报错导致其崩溃的解决办法 win7的64位系统请看下面的注
根据我之前写的这个文章: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默认的了。这样就不会再出问题了 。
==========================================================================================================================
注:
http://ask.zol.com.cn/q/101721.html 莱茵哈特
在32位系统中,有system和system32两个文件夹,分别存放16位和32位的dll文件。按照32位的系统命名规则,64位应该有一个叫做:system64的文件夹来用来存放64位DLL文件,但实际上却没有system64这个文件夹,而是一个叫做为SysWOW64的文件夹,而且syswow64也不是存放64位文件的,而是用来存放32位的DLL文件。
所以在64位系统中,32位的dll文件放到syswow64中,64位的dll文件却在system32文件夹内。
若要解决此问题,就要运行Syswow64文件夹内的Regsvr32.exe。例如按照你图里的命令,可以采用这种方法来注册 DLL:
1、打开开始菜单,输入cmd,在搜索出的CMD上右键,选择以管理员身份运行
2、在打开的命令提示符里输入:cd \windows\syswow64 这个命令是将目录设置到syswow64这个文件夹,之后运行的命令就会在这个文件夹内找文件夹, 输入后按回车,如下图:
3、按照你图里的命令,输入:regsvr32 atiacmxx.dll /u 输入后按回车即可