I am using IA 2012 SA on a WIn 7 Pro computer. If I set the CACHESOURCES IA Variable to "TRUE" from its default setting of "DEFAULT" then my patch build results in almost every file in the setup being included. If I turn it back to "DEFAULT", without changing any other settings, then it works. The msp.log file shows every file with the "Patch API could not create a small patch; using whole upgraded file." message logged by the MSI engine. I find this strange because the baseline build is a Web Deploy type which (I have read) always cache's the setup. This should mean that for Web builds the CACHESOURCES=TRUE or DEFAULT should result in the same thing.
This behavior is a certainty as I've tried it several times back and forth. Having said that, I can't be sure if it is dependent on other conditions. I have a very complicated installer that is highly customized (i.e. not using the IA scripts out of the box).
I'd be very interested if IA techs could confirm this or if another user could duplicate it in their environment. But for now, on my WIn7 Pro pc with IA 2012 SA, setting CACHESOURCES = DEFAULT is a must for creating a patch.
These are also the other settings (through trial and error) that appear necessary to create a reliable patch without worry of 2705, 2711, etc. errors.
Set Variable CACHESOURCES to DEFAULT
Set Variable LONGCOMPONENTS to TRUE
Set Variable NOHARDLINKS to TRUE
These last two have been discussed in other threads and I confirm having them set to FALSE causes issue for me as well. But this CACHESOURCES is something I see no discussion about on this Board. Its not even mentioned in the online help.
CACHESOURCES = TRUE breaks my Patch build
Re: CACHESOURCES = TRUE breaks my Patch build
Interesting!
NOHARDLINKS is almost always mandatory for patching, as otherwise files will always be "updated" since no copies are made for the old files during a build (but just hard links are created to them instead).
LONGCOMPONENTS is not a must for patching, but especially for large projects, may quickly become a requirement to ensure similar paths/files are not mixed up by the patch generation engine.
The above two should already be documented in the help file.
As for CACHESOURCES, this setting doesn’t logically make sense for patches because patches do not contain any source files - just the delta that is captured between builds. I suppose what is going on is that the file layout is changing for some reason (this might be a bug if the base builds are also web builds and have been built using the same value for CACHESOURCES) and therefore the patch engine differencing again fails, resulting in the inclusion of full files for builds.
This might take some research to definitively determine, but if CACHESOURCES=DEFAULT is getting the job done, that is then definitely the value to use here. We will make a note of this in future documentation.
NOHARDLINKS is almost always mandatory for patching, as otherwise files will always be "updated" since no copies are made for the old files during a build (but just hard links are created to them instead).
LONGCOMPONENTS is not a must for patching, but especially for large projects, may quickly become a requirement to ensure similar paths/files are not mixed up by the patch generation engine.
The above two should already be documented in the help file.
As for CACHESOURCES, this setting doesn’t logically make sense for patches because patches do not contain any source files - just the delta that is captured between builds. I suppose what is going on is that the file layout is changing for some reason (this might be a bug if the base builds are also web builds and have been built using the same value for CACHESOURCES) and therefore the patch engine differencing again fails, resulting in the inclusion of full files for builds.
This might take some research to definitively determine, but if CACHESOURCES=DEFAULT is getting the job done, that is then definitely the value to use here. We will make a note of this in future documentation.
Aviv Giladi
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Product Guides - http://www.installaware.com/publication ... guides.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Product Guides - http://www.installaware.com/publication ... guides.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
-
- Posts: 92
- Joined: Thu Dec 08, 2011 9:23 am
Re: CACHESOURCES = TRUE breaks my Patch build
Your comment made me wonder if it was possibly an incompatibility between how the switches were set in the base build and then the patch. I tried it again making sure the CACHESOURCES=TRUE was set that way when creating the base build. That was not the problem. It definitely won't work (for me) if the Base Build has CACHESOURCES set to TRUE, regardless of how the patch is settings are configured. Definitely something going on with that switch that is wrong.
Also, for some reason when I set the CACHESOURCES variable to TRUE, IA writes a series of "SET VARIABLE"'s to the beginning of my script hardcoding a bunch of Compiler variables. Not sure why it wants to do that. To make it weirder, the CACHESOURCES variable is NOT one of the variables written to the script. Just 12 seemingly random compiler variables (not all of them). The whole think seems a bit "quirky". Just wanted to mention that in case it was a clue for you.
Hope you can get this fixed because I'd like to create a single file install for our customers (an an option) with the caching feature to make patching easier.
Also, for some reason when I set the CACHESOURCES variable to TRUE, IA writes a series of "SET VARIABLE"'s to the beginning of my script hardcoding a bunch of Compiler variables. Not sure why it wants to do that. To make it weirder, the CACHESOURCES variable is NOT one of the variables written to the script. Just 12 seemingly random compiler variables (not all of them). The whole think seems a bit "quirky". Just wanted to mention that in case it was a clue for you.
Hope you can get this fixed because I'd like to create a single file install for our customers (an an option) with the caching feature to make patching easier.
Who is online
Users browsing this forum: No registered users and 65 guests