I have two msis with a size of around 17MB, the difference between those two msis is small. When I'm generating a patch via the the Patch Design, the output msp is around 15MB and this cannot be correct, because there is no such difference exists. What is the reason for this? How can I verify that I'm patching only the difference between those two msis? Please note that all files are added to the msi via the dynamic linking option. I've opened both msis in msi Diff tool and I've noticed that each file has a status of Deleted and Added, I think it is somehow comparing the component name and not the actual file. Because all the msi file are grabbed via the "Dynamic Linking" option.
2 Answers
Are you using Patch optimization when building the patches? That should help in your case.
Take a look at the following documenation:
http://helpnet.installshield.com/installshield18helplib/UpgradeConsiderations.htm
Also, when you build a patch there is an option to include whole files or differntial files. Make sure you make use of that option.
Hope this helps.
Regards, Kiran Hegde
My answer is that because of the dynamic root folder that is generated for each new msi, the msp was considering that as a new file. So if I have a file path like C:\1\abc.txt in the old msi and in the new msi it becomes C:\2\abc.txt, the msp is pulling abc.txt as a difference although it is not changed, it looks like it compares the full path and not only file names (I use Components for files inside the msi). The solution was to set the root path as static instead.