ATL Security Update KB971092 still offered on Microsoft Update
A security update for ATL, KB971092, is currently offered for Visual Studio 2008 Service Pack 1 customers who have Visual C++ installed. If Microsoft Update is continuously offering this patch to you, you may need to clear up some disk space. The patch is 365MB and contains headers, libraries, and executables for most of Visual C++ including ATL and the CRT. This patch, however, may require up to 3.7GB to install with a possible residual footprint of about 1.7GB if you have all Visual C++ features installed.
How to work around this issue
If you are continuously being offered ATL security update KB971092, most likely you need to free up some additional space. You’ll need about 3.7GB to install this patch. If you’ve already downloaded it from the Download Center, you’ll need about 3.4GB.
Alternatively, if you do not use Visual C++ you can also re-run setup and choose to uninstall the Visual C++ feature and all its children. The patch should no longer be offered to you after that.
Freeing additional space
To free additional space, first run the Disk Cleanup utility as an administrator. If you are prompted to clean up for the current users or everyone, choose everyone. On Windows 7, after the main user interface is displayed click on the Clean up system files button. Because this is a security update, it is recommended you check all options and click OK to delete those files.
You may also delete the Windows Installer baseline cache. These files are useful to help eliminate prompts for source when uninstalling patches, and even sometimes when installing certain types of patches. By deleting these files, if you are prompted for source you may need to insert your original installation media, or download and extract previously downloaded installations.
To delete these files, open an elevated command prompt and type the following command.
rmdir /q /s %WINDIR%Installer$PatchCache$
DO NOT delete %WINDIR%Installer no matter how large it might be. The cached files in this directory are needed to repair, patch, and even uninstall Windows Installer products. Rebuilding the cache is very difficult and time consuming, and you may have to reinstall Windows. If you want to reduce space consumed in this directory, you may uninstall any products you do not use.
Description of the issue
Windows Installer may require a lot of space. It is a transactional installation engine, so it must make copies of the older files that will be replaced. To maintain security during installation, a copy of the patch itself is made after verifying security and possibly prompting for consent (UAC). To support uninstalling the patch without prompting for source, copies of the older files being replaced are also stored in the baseline cache mentioned above, %WINDIR%Installer$PatchCache$.
If you do not want the patch cache to be created for this or any other products when patched, you can set the MaxPatchCacheSize system policy to 0. You must stop the Windows Installer service for the change to take affect. Future Windows Installer installations will automatically start the service so merely stopping it is sufficient. It will automatically stop after 10 minutes of inactivity as well.
After the patch is installed, a copy of the patch is kept for future installation operations – to support patch uninstall, for example – and cannot be deleted until all applicable products are uninstalled.
If you did not already disable the baseline cache, copies of files replaced under %ProgramFiles% (default) are left behind to reduce source prompts. You can delete these as described above, with the understanding you may be prompted for the source of Visual Studio 2008 in the future, especially if you uninstall this ATL security update.