Hello guys,

i am trying to do a process where the msi caches into the C:\ drive so if the self healing is required, it can go to the localcachedir for it. The msi will be stored in the local directory. I have figured it out where the msi goes into the chache directory but if the msi is uncompressed, the .cab files are going with and when it tries to self heal, looks for the cab files..
how can I make it to where the uncompressed files also go in the cache?

0 Comments   [ - ] Hide Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
Answer this question or Comment on this question for clarity


You could include a copy of the msi & cab file in your MSI and have it install to your desired dir... then add an entry to the SOURCELIST Property in the Property Table of your MSI with the value of the location of where you are deploying that MSI and Cab.

SOURCELIST is seperated by ;(semicolons) for each entry you want to add

You shouldn't need to do this and it will double the size of your MSI. The MSI will cache themselves for selfhealing and then attempt the installlocation to reinstall files etc.

If you are installing from a network location then give users Read Permissions but not list... That way they can still install from that location but users can not map the drive and look at it's contents..

Just a thought hope this helps
Answered 07/13/2006 by: gmorgan618
Blue Belt

Please log in to comment
My own understanding is that Windows Installer will cache the MSI in the [WindowsFolder]\Installer directory by default, but without the accompanying source files.

This is fine for self-repair as long as there are no files needed (e.g. registry repairs).

However, should any files be needed by self-repair, then Windows Installer will first try the folder the package was originally installed from in order to locate the source file(s).

The original source location for the MSI package can be found in the InstallSource value held in the following registry key :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<scrambled value of the Product Code>\InstallProperties

Now, should the original source folder be unavailable/missing, then you would normally expect to see a prompt during self-repair requesting you enter a source location from where the file(s) may be copied.

You can, nonetheless make use of the SOURCELIST property in your package. In this property you can enter a (semi-colon separated) list of alternate locations where the source may be obtained, should the original source location be unavailable.


Answered 07/13/2006 by: spartacus
Black Belt

Please log in to comment