从毕业到现在,一直都在使用Visual Studio 2005来开发C/C++小程序,每次重装系统就要重装VS2005,
这家伙安装起来太慢了,如果要打SP1补丁那更费时间,所以有必要制作一个精简版!(都2019年了啊,早干嘛去了啊???)
我只需要安装VC++的组件就行了,重装系统的时候就可以分分钟搞定VS2005。
首先用虚拟机装了一个Win7 32位纯净系统,然后备份硬盘文件,然后在里面安装VS2005,对比两个硬盘镜像的差异,
从而提取出VS2005所需的文件,不过不看不知道,一看吓一跳!这个家伙竟然向注册表写了接近10W行数据!!!
握草!!!!!!!!
不怕把注册表写坏了吗!!!
除了注册表之外还有好几千个文件被写到了以下目录:
C:\Program Files\Visual Studio 8\
C:\Program Files\Common Files\
C:\Windows\Assembly\
C:\Windows\System32\
C:\Windows\WinSXS\
这样的目录结构,想要把Visual Studio做成绿色版是绝逼不可能的了,但是可以做成精简版,直接复制相关文件和注册表就可以完成安装,再怎么说也比DVD镜像里面的安装程序要快很多。
话虽如此,但是如此之多的注册表项和文件,要精简起来十分费时!
不过还好我不是世界上第一个制作VS2005精简版的人,网上能找到cntrup和skygz前辈制作的精简版。
不过这两位的精简版还是不太满意,安装过程有一些小问题,精简程度也还不够。
参考前辈的精简版成品和我提取的VS2005再进行整理,用inno setup打包成快速安装程序,
这个安装程序其实写注册表和注册必要的dll文件,不用复制文件到C盘,所以安装速度很快。
下面做点精简笔记,以纯净的WIN7 32位系统为基础:
1. 将VS2005的程序目录放到D:\VS2005\,运行Common7\IDE\devenv.exe,提示应用程序配置不正确,程序无法运行?
这是因为VS2005是基于VS2005开发的,需要安装VC++ 2005运行时库才可以。
2. 安装VC++2005后,再次运行devenv.exe,提示一个或多个组件没有找到?
这是因为还没有写入注册表,所以VS2005完全不能运行,需要把刚才提取的注册表项导入。
3. 导入注册表项后,再次运行devenv.exe,提示文件加载失败,%commondir%\dte80.olb?
这是因为VS2005依赖的一部分DLL竟然要放到C:\Program Files\Common Files\
4. 复制这些DLL到C:\Program Files\Common Files\之后,再运行devenv.exe,终于看到初始化界面了,但过了一会儿提示“无效的许可证数据”?
这个问题有点奇怪,明明把完整的注册表项都导入了,为什么注册没有成功,这次找到了前辈的安装程序,发现发vsreg.exe,用这个小工具重新注册一下就可以了。
5. 重新注册VS2005之后,再运行devenv.exe,又提示一堆Package加载失败?
嗯,很烦,VS2005的很多Package是基于.NET平台开发的,所以还要重复这些文件到C:\Windows\Assembly目录啊!
6. 复制.net组件后,再运行devenv.exe,终于成功了,但是编译helloworld无法运行,还是提示应用程序配置不正确?
这个嘛,是因为DEBUG版本程序依赖DEBUG版的VC++运行时库,需要拷贝几个dll和manifest文件到C:\Windows\Winsxs,还要把这几个DLL注册到注册表项。
7.处理好winsxs目录的文件,VS2005终于可以正常工作了。
好了,剩下的事情就是精简了,所谓精简就是不停地删除那些我一辈子都用不到的组件,然后还要删除对应的注册表项,
这就是个相当耗费精力的过程。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
不知道过了多久,删除了一堆又一堆DLL文件,删除了一行又一行的注册表项,而且要保证VS2005运行时不出错。
最后的文件结构:
\Common7\* IDE核心文件
\Setup\* 安装时会引用的文件
\VC\bin VC++编译器,可以替换为VS2010或者其它版本,可以实现对C++11的支持。
\VC\atlmfc MFC库文件、头文件、源代码。可以替换为VS2010或者其它版本。
\VC\crt CRT的源代码,没有太多作用,可以删除。
\VC\PlatformSDK Windows的SDK头文件和库文件,VS2005提供的SDK是基于windows XP的,可以替换为其它版本
\VC\* VC++工程核心文件
\setup.exe 快速安装程序
做好了成品放到百度网盘,分享给有缘人吧:
https://pan.baidu.com/s/1cX31JidD-7US33q30DBCmg
注意事项:
1. 此安装程序推荐使用WIN7.32位系统,其它系统没有测试,可能不正常。
2. 如果是XP系统,需要手动注册msdbg2.dll,并且要安装.NET 2.0版本。
3. 不要与其它VS版本共存,避免共享文件冲突。
4. 如果我发现了其它问题,再来更新吧。