View Full Version : Multiple patching question

Brad Peterson
12-03-2004, 07:18 PM
I have a question about using a large number of patches, say, as many as 100 patches to a base install.

The nature of our product requires that we release a patch on average every 2 weeks. That means, if this product exists for about 2 years, it will need roughly 100 patches. This number of updates, despite our best efforts, cannot really be reduced, so we have to plan using our past history as a guide.

So, does the MSI 2.0 engine handle that many patches well? Are there problems I need to be aware of? So far, I've thought of two possible problems that I need clarification on.

1) Continually increasing file size of the patches. I think increasing patch sizes would be due to support patching all previous versions. Because if I don't know what previous version I have to update, then I need to choose to update any prior version. So, over time, won't that mean each successive patch is going to grow in size? My initial tests seem to indicate that each successive patch grows anywhere from 30KB to 50KB. So in 2 years with 100 patches, that will add 3000 KB to 5000KB to the total patch size. Is that correct? (Note: as a partial fix to this, we do keep track of customer version numbers, so if I know a certain version is not being used, I can take it off...that can reduce the amount of versions I need to support patching for)

2) Possible slow loads. If I understand it correctly, when you run your program, the MSI engine behind the scenes loads up, and analyzes the files to make sure nothing is missing or damaged or whatever. Well, if I have one MSI base install and 100 patches, does this behind the scenes check have to run through 101 of those msi/msp files to check for current product integrity? If so, will that slow it down? I'm kind of clueless here, so I may be off on the whole concept. But after speaking with two InstallShield tech people, one seemed to indicate this would be a problem, the other said it would not. (Note: a possible fix to this is using Update Service to update files directly, rather than through paches. That way, I only patch when I need to add or delete files, vastly reducing the amount of patches that need to be applied)

What do you think? Is there any other problems any of you can think of?

Brad Peterson
12-15-2004, 02:55 AM
Well, since this received no replies, I figure I'd reply to the thread to explain what I've discovered.

My initial concern was having up to 70 patches. However, I didn't realize there was the msi major uprade option in Express, but there is, the Updrade Paths. So, if my patches become too large or slow down the system too much, then we will just release a major update, which essentially acts like a fresh install. This then should solve my problems.

Dean Bennett
08-18-2006, 10:08 AM

I ahve this smae problem. We do multiple patches a day in our development environment, and after each patch, the next one gets slower. After a a while it gets ridiculous. We can reinstall the base install and then the patching speeds back up temporarily. I have no solution for you, but patching is going to be a problem for you I am sure. We do major upgrades every so often in the release environment and that re-baselines then install so it has no patches registered on the client (essentially starting over) so our customer base is unaffected, but internally its a pain. So we just internally reinstall the base every so often. Hope this helps.