Updating Version in Add/Remove Programs with MSI InstallersAnswered

How do you update the version displayed in the Add/Remove programs list with wyBuild when you're using MSI for installations (WiX)?

MSI installations do not store info in HLKM\software\...\MyApp, they use a GUID instead. Each time we create a new MSI installer, the GUID changes (needed to update from version to version with MSI). I use wyUpdate.exe /uninstall in the MSI to get rid of changes before installation, but how do I get the correct GUID so wyUpdate can change the DisplayVersion?

I don't have a good answer for you. I'm going to have to look into this. Unfortunately my suspicion is that for cases like this (where the GUID changes for every installer -- and thus the GUID needs to be retrieved at runtime) wyUpdate doesn't currently support updating this DisplayVersion.

Close integration with WiX is one of our short-term goals. So fixing this is definitely on our radar.

Hi,

Is there any news on this? I purchased wyBuild and am finally getting around to using it. I use Visual Studio 2010 to create an MSI installer. I have wyBuild properly updating my application and it works great - but does not update the version number in Control Panel, as discussed here. This seems like a critical need - it doesn't do much good to update the user to a new version but have their Programs list show the incorrect (older) version as still being installed.

Hi,

I looked at this in some more detail - it looks like it's actually quite complex to do a full MSI update to the registry - from what I can see, it requires knowing the installed application's Update Code GUID, and then updating the Product Code GUID as well as the version.

If you have a solution or any suggestions, that would be great. In the meantime, I've come up with a solution: instead of specifying the files of my application inside wyBuild, I simply added the installer for the new version, and flagged it it as "Execute after update". Thus it just downloads and runs my regular installer.

I realize this goes against some of the core value of wyBuild - namely, making a small download of just the deltas from the previous version - but it still allows use of a lot of your automation features and is still a heck of a lot better than having to code it all myself.

Hey Phil,

Your absolutely right. Right now, the only easy way to update the information in the Uninstall section is to distribute your MSI as part of the update an execute it.

Of course, there are ways around this problem (like this), but we haven't integrated the solution to the problem in wyBuild yet.

Hi

Is there any update on this issue, I am also faces the same problem where latest version is not displayed in control panel after update. I don't want to push MSI update instead of patch update as it would cost me time while installing updated version.

Thanks in advance

Any update on this isue?

Answer

The "solution" is to integrate installation creation into wyBuild (which is coming the next version). The alternative solution is to just include installers in your updates.

This isn't really true, theres a third solution, which we do to overcome this issue. We push an exe which runs as part of the update which scans the registry for the MSI entry and then updates it as needed. This keeps the entry useable for uninstallation (we make sure our MSI nukes the full folder our app is in, in case we add extra files - same with the registry).

But there is problem to this approach: even if application is installed as perUser, required keys are in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData, so updating them requires elevated permissions (while creation doesn't).

Windows installer is consistent and logical at its best.

Sorry for resurrecting the topic, but I'd like to know if anyone got a solution to this problem?

Same solution as before.