最近我在一台计算机上安装了Windows XP。安装完之后,我去Windows Update去下载更新。为了偷懒,我选了全部组件更新,包含Windows Media Player 11和.Net 3.0这样未必会用到的组件。更新的结果是10G的硬盘只剩下3G。
OK,我承认这个分区是小了点,但是那个硬盘一共只有30G,在我的80G的硬盘上,16G的C盘也不足以安装Visual Studio 2005 SP1。这是因为尽管我的应用软件,例如Office 2003、Visual Studio 2003、Visual Studio 2005、Windows Vista SDK和SQL Server 2005都没有安装在C盘,但是它们都强制把一部分组件安装在系统盘中,而且Windows Installer也缓存安装文件,以至于剩余空间不足以运行安装程序。
OK,我们来看看Visual Studio 2005 SP1安装的时候到底做了什么。
- 解压到%temp%\临时目录(对于我的Visual Studio 2005 Team System,这需要C:\Documents and Settings\Administrator\Local Settings\Temp下面1个多GB的空间)
- 把自己复制到%temp%下(400多MB)
- 把自己复制到%windows%\Installer下(C:\Windows Installer下400多MB)
- 解压到%windows%\Installer\PatchCache(1个多GB)
安装过程中还会生成临时文件(C:\Config.msi和%temp%下面的日志文件)。也就是说,要成功安装Visual Studio 2005 SP1的话,所需空闲空间大大超出成功安装Visual Studio 2005所需的空间。在SP1的下载页面,列出的空间要求是6.2GB(这还是在没有安装多个Visual Studio 产品的情况下)。
为了节约系统盘空间,我以前采取的措施包括
- 安装应用程序时不安装到系统盘
- 将用户的“我的文档”目录,%temp%目录和IE的缓存移动到非系统盘
- 运行磁盘清理,压缩旧文件
- 将Windows的磁盘交换文件移动到非系统盘
但是这一次我不得不压缩%windows%\Installer目录才可以正常安装Visual Studio 2005 SP1。
考虑到Windows Installer会在%windows%\Installer目录缓存安装文件,安装一些很大的应用程序也会同样占用系统盘的空间。所以在给计算机分区的时候,尽量给系统盘较大的空间。