Windows Installer Basics: Caching Of MSIs, patches etc |
After Windows Installer has installed your msi (or patch) it caches it in the hidden directory "%WinDir%\Installer". The name of the cached msi will be randomly changed to something like "2b2d4b.msi". Subdirectories typically contain shortcut and product icons.
The cached msi is stripped of any files it may have contained to reduce its size, but this still allows most repairs (depending on how the MSI is designed) to occur without the need to prompt a user for the original media (which they then need to locate). See the "Source Availability" section for more details (including why Windows Installer may need to prompt for media anyway).
If you don't want to cache your MSI and don't need uninstall support then the "No Installation Registration" tip is for you! If you need uninstall support but you have an extremely large msi (not counting any files it may contain) you could try scheduling a custom action after the Windows Installer registration to determine the cached filename and then delete it.
Install of MSI with Transform... |
This is what I have observed:
Microsoft's Take on Caching... |
Eric Tam (29 Sept 2000) posted a response from Microsoft on caching:
I understand you have a question about the Windows Installer and the WINNT/Installer directory. The fact that Windows Installer caches a MSI to this directory is by design. When you run a Windows Installer package runs, the package gets cached to the directory mentioned above. MSI does this in order for maintenance mode and resiliency to work properly. Maintenance mode uses this cached package whenever someone goes to the Add/Remove Programs in the Control Panel to change the installation state of features. Resiliency uses the cached package anytime a file, directory, registry keys, registry values, or registry names. Even if you uninstall your application, the cached package will still remain in the Winnt\Installer directory. The architects of Windows Installer felt caching the package was a good feature/disk space trade-off. They felt that since the average MSI package is only a couple of MB's and disk space is so cheap, that the extra disk space used for these features was worth the trade-off. There is no switch or setting available to turn this feature off, but it is safe to delete any of the MSI files or the whole directory. If you do delete the directory or the MSI files, you will be prompted for the original source if you add any features in maintenance mode or if the resiliency feature activates.
As subdirectories contain shortcut and product icons, I doubt it is a good idea to deleted everything as mentioned above.