Page 1 of 1
Will this make matters worse (patching questions)?
Posted: Mon Oct 09, 2006 5:53 pm
by ken rentz
After producing my first InstallAware install, and sending the CD's to production, I discovered that I did something bad. I placed about 40 meg of 3rd party install scripts into the Support Flies section of the install. This made it easy to run these external setup's when we need to install these tools.
Unfortunately, it would appear that when you make a patch file, all of these (now unused) installers are bundled in with it

My questions are as follows:
1. Is this the correct behavior of the installer? I would imagine it is, but it's nice to verify things?
2. If I make a new installer for a patch, keeping the product and upgrade codes, but not including the external installers, will this mess things up in the future?
3. When fixing this in the future, what is the preferred way of adding large files like these installers? I thought that having the install broken into web components would cache everything, but I was wrong.
Posted: Tue Oct 10, 2006 6:03 am
by MichaelNesmith
1. Yes, support files are always bundled.
2. Depends on how you use them. It seems to me you do not need them during patching. So it should be safe to remove them during a patch build. You can also save your project as in the IDE and apply your patch settings to the newly saved project, so you don't have to undo your changes later.
3. Support Files are indeed cached as well. If you want to place Support Files inside web media blocks, use the File Bag plug-in.
Posted: Tue Oct 10, 2006 10:48 am
by ken rentz
Thanks for the confirmation. I assumed that I could make the patch like you described, and have already started working on it when I noticed another possible problem.
The patch appeared to be a lot larger than I expected, so I checked the msp.log file. It showed that a number of unchanged files were being copied into the patch in their entirety. Some of these are rather large, and as they have not changed at all, I would not expect them to be included in the patch. Other files appear to be handles correctly, so I don't think it's a configuration settings.
Below is a sample from the log file:
Patch API could not create a small patch; using whole upgraded file.
Including entire file: 'C:\\Install_Files\\InstallAware\\setupvns\\Patch\\Upgraded Package\\data\\.\\.\\Main Program files\\IFNTLFEVUAEIHENBTEDFRGDRINFFFF0\\nobeltec.pdf';
FTK=nobelt7e17cnobeltec.pdf24PIFNTLFEVUAEIHENBTEDFRGDRINFFFF0_124; temp location=A29C52BF\\00019.FLE.
Posted: Tue Oct 10, 2006 11:52 am
by MichaelNesmith
It appears the patch API was unable to create a patch from the input files using binary differential scanning. Since the patch APIs are beyond our control (they are Microsoft APIs and we cannot make our own, otherwise we lose compatibility with Windows Installer), there isn't much (as in, nothing) that can be done about this (other than maybe reduce the number of old versions you are patching against to simplify the task for the API).
Posted: Fri Oct 13, 2006 4:22 pm
by ken rentz
Strange, I was only patching a single earlier version of our program, and this particular file is the same in both. If I ignore this file in the patch (or remove it since I'm using a separate script for the patch), will this cause any difficulties? I'm still trying to come to grips with some of the internal intricacies of how an MSI installer works.
Posted: Fri Oct 13, 2006 4:41 pm
by MichaelNesmith
You should avoid using a seperate script for the patch as this will confuse the installer. The same Install Files commands that are in the main script must be used for the patching to find the files in the old versions and resolve them.
You can of course use a different script (after all, this is what the compiler if/then/else statements do in the main script anyways), but you should just be careful and use the same Install Files commands for both the original files and the new files you are trying to patch.
Posted: Fri Oct 13, 2006 4:53 pm
by ken rentz
As I mentioned in the first message in this thread, I placed too many things in the support files section, and have a 40 meg patch file

To make the patch script, I've started with the original script, and then removed the references to the support file code. None of the other lines should be modified in any way.
If I do this and simply remove any references to the unchanged files that are causing the problems, will this cause any difficulties?
Posted: Fri Oct 13, 2006 8:28 pm
by MichaelNesmith
Shouldn't.