View Full Version : Why the msp is not patching differences only

07-08-2015, 04:15 AM
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, I've used winmerge tool to compare both msi file and the difference is just few dll files, hence 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.

My investigation showed that on our build server where we are generating the files, there are a new folder created each night with a different name, and the msi files are linking to those paths (virtual and static ), so with each new path created it is considered as a new component and that the old one is deleted. Is there a solution to compare the files with the file name not the path?

For example if the last night the path is C:\Build1.0.1\File.txt and an msi is generated, the next nigtht the path willl be C:\Build1.0.2\File.txt for the new msi. The patch is considering the previous as a deleted component and the new one as new component, regardless of the facet that File.txt is still the same and should not be patched. How to solve this?