Patch Design: what determines a "change" to a file? Why are equal files put in patch build?
I'm trying to use "Patch Design" instead of QuickPatch project to deliver a small update to an existing installation.
The requirement is that the patch setup will be small and contains only those files which have changed.
(With the QuickPatch project it is easy as you manually add files which must be part of the patch setup. So you are sure that no other files are part of the deliverable.
So I took the MSI for the product to be patched as "previous".
I created a new build using the original project where only a few files are changed. This is the "latest".
As I can not see which files will be taken to be part of the patch installer I build it completely.
During build it seems almost all files from the latest build are taken. But not all.
In my case here, instead of a few files to be added I see about 800 files being compressed and put in the patch build.
I checked a few files to see why they are added. For all files there is no difference between the previous and latest build. The file size, date, location etc etc are 100% identical. But still they are part of the patch. Which results in a setup of 500Mb which would be only 100Kb when only the changed files were taken.
Is there an explanation?
I would expect that InstallShield does a bit-wise check to determine if the file has been changed.
And strangely some files are indeed not added. But they are of the same type and are indeed identical. But somehow those are correctly identified as changed where other files in the same situation are taken into the patch.
Is there a setting to change the behavior how files are checked? Can I change the project so that a patch will actually produce the setup I need?
Could it be related to the fact that some components are dynamically linked? In that case, how do I prevent they are added to the patch?
Thank you for your post.
We'll need a support ticket (case) to track this issue. Could you please open a support ticket (case) with our Support Team, about this issue, by email at firstname.lastname@example.org or by phone at (877) 279-2853, as long as you have a valid, unexpired technical support contract (maintenance plan)?
Please let us know if you have any questions or concerns. Thanks!
Thanks for the reply.
After more extensive search I found the reason why all files were added to the patch build.
To limit the files you need to set the previous build info in the release settings. When pointing to the previous build when creating a new release build and then use that new release build als latest build in the patch design, the resulting Update.exe only contains the changed files.
So there is no problem now, but maybe it is a good idea to somehow indicate this clearly in the design view information as this was not very clear.