Patch behavior inconsistent with full installer behavior

Got a problem you cannot solve? Try here.
PShah
Posts: 10
Joined: Tue Feb 13, 2007 12:26 pm

Patch behavior inconsistent with full installer behavior

Postby PShah » Tue Feb 13, 2007 12:43 pm

I've built a 1.0.1 patch against my 1.0.0 Web .EXE installer, and I'm noticing some inconsistencies in how it behaves as compared to the full installer.

My installers write the current install version to the registry at HKLM/Software/My Company, and then check that location when the installer is run to be sure we aren't trying to overwrite a newer version - protecting the user from himself, and ensuring that all users will be using the most current version.

So, this causes 2 problems. Firstly, if I run the patch to upgrade to 1.0.1, it properly updates the version number stored in the registry. However, on uninstall, this registry value is not removed. It is properly removed when uninstalling a 1.0.1 or a 1.0.0 that was installed using the full installer. Any idea why the patch isn't taking care of this?

Also, in a related point, I have script in there to check this registry entry and terminate the installer if the version stored in the registry is greater than the installer's version number. So, it seems that when I use the patch to upgrade 1.0.0 to 1.0.1, and then uninstall, this logic hasn't been updated, so the installer terminates (seeing 1.0.1 in the registry, but comparing against 1.0.0, when it should be comparing against 1.0.1). Do patches update installer logic? Or do they just do a one time restructuring of the install directories? I hope I've explained this well enough to be understood.

Finally, I've noticed that if I run the 1.0.1 patch after installing 1.0.1 with the 1.0.1 full installer, it errors, saying that it cannot find an installed program to update. But if I run the 1.0.1 patch after upgrading a 1.0.0 install with that same 1.0.1 patch, it doesn't give that same error. Shouldn't these two cases behave the same? I would expect that a 1.0.1 install should always behave the same, regardless of whether it is the product of a full 1.0.1 install, or a patch from 1.0.0 to 1.0.1. Any thoughts on this?

Thanks,

Peenesh Shah

MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Postby MichaelNesmith » Tue Feb 13, 2007 11:08 pm

When you apply a patch, the file system and registry will be updated, as well as any other commands your MSIcode contains for patching. The installed version install itself will not be updated, so you version check will naturally fail.

You will not be able to patch a 1.1 product with a patch that was built only for a 1.0 product. You need to add 1.1 as a patch reference if you want to do that (which is of course, pointless).
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/

PShah
Posts: 10
Joined: Tue Feb 13, 2007 12:26 pm

Patch behavior inconsistent with full installer behavior

Postby PShah » Wed Feb 14, 2007 9:07 am

Thanks for the info, but you missed one of my questions, probably the one that is most important, "... if I run the patch to upgrade to 1.0.1, it properly updates the version number stored in the registry. However, on uninstall, this registry value is not removed. It is properly removed when uninstalling a 1.0.1 or a 1.0.0 that was installed using the full installer. Any idea why the patch isn't taking care of this?" So, to recap, this registry value is written on install, and is removed on uninstall if I don't patch. But once I patch, it doesn't get removed on uninstall. The patch does update this value, but it doesn't change its location, so I don't see why this doesn't work.

With regards to your answer to one of my other questions - if the 1.0.1 patch won't work on the 1.0.1 full install, shouldn't it also error on the 1.0.1 patch, for the sake of consistency? This is not that important, it just seems like incorrect behavior.

Thanks again.


Return to “Technical Support”

Who is online

Users browsing this forum: No registered users and 100 guests