Wise Packaging

Expand all | Collapse all

caching of MSI in Windows\Installer folder

Jump to Best Answer
  • 1.  caching of MSI in Windows\Installer folder

    Posted 11-14-2011 05:36 PM

    I had always been under the impression that only a part of MSI is cached in Windows\Installer folder. I have read and at many sites too it is mentioned that only part of MSI is cached, ie. it is stripped of the all files (in cab) and then it is stored. But lately in some of the packages which I have run are cached completely in Windows 7. I was amazed to see a 780 MB of MSI cached in there which I had just installed.

    There are sometimes, when only part of MSI (without files) is cached. I would really want to know the in depth details of this if anyone is aware of it.

     

    -Piyush



  • 2.  RE: caching of MSI in Windows\Installer folder
    Best Answer

    Posted 11-15-2011 03:40 AM

    Neither XP nor 7 cache external files.

    XP was stripping internal CAB files to reduce the size of the cache.

    7 is not stripping anymore to keep the signatures valid.

    To be more exact: Installer 5.0 is not stripping anymore (its not really depending on the OS).

     

    Anyway ... even when the internal files are in the cache, they are still not used for repair.

    http://blogs.msdn.com/b/heaths/archive/2009/02/02/changes-to-package-caching-in-windows-installer-5-0.aspx



  • 3.  RE: caching of MSI in Windows\Installer folder

    Posted 11-15-2011 09:08 AM

    They discovered a problem with Windows Installer 4.x when signed installs were used. Due to the locally cached MSI having its internal CAB streams removed, the code signing was no longer valid, and at uninstall, you received signing error messages suggesting that the MSI was corrupt.  Windows Installer V5 which first appeared in Windows 7 fixes this by caching the entire MSI so that the code signing is not damaged. Obviously, if there is any additional content external to the MSI which is required for installation, this is not cached and therefore the locally cached MSI may not work in a repair scenario where files are needed.

    I suspect you can reduce the size of the locally cached MSI by using the compilation option that generates external CAB files so that the MSI is maintained as a small file.  However, given the size of hard disks fitted as standard these days to machines capable of running Windows 7, the additional space requirement is not likely to be an issue.



  • 4.  RE: caching of MSI in Windows\Installer folder

    Posted 11-15-2011 09:50 AM

    Obviously, if there is any additional content external to the MSI which is required for installation, this is not cached and therefore the locally cached MSI may not work in a repair scenario where files are needed.

    I just want to emphasize, that a repair will never work with the locally cached MSI where files are needed. No matter if stripped, or not (see link in my above article).

     

    I dont think the MSI was stated as corrupt, but the UAC will show “Unidentified Publisher” because of the broken signature.



  • 5.  RE: caching of MSI in Windows\Installer folder

    Posted 11-15-2011 11:02 AM

    That is also my understanding.  It's a UAC issue impacting Windows NT 6 (well, Vista...they fixed it after that).

    -Evan



  • 6.  RE: caching of MSI in Windows\Installer folder

    Posted 11-15-2011 06:09 PM

    Thanks Mistral, the article clraifies a lot of doubts.