If you are referring to the "Wow6432Node" delete of the registry entry that was removed like I stated in a previous reply.

It does get into the code because %PREVIOUSVERSION% is correct and the wait dialog pops up to tell the end user it is uninstalling the previous version. I believe the issue is with the name of the log file and exe. The current program name is different and it tries to use the new name instead of the old name. If the old program was named Help and the new one is named HelpMe. It is using Uninstall_HelpMe.exe instead of Uninstall_Help.exe. I see why it does not work but I have no idea how to tell it to use the previous name instead of the new one. Plus this is a single installer so only one time would the name be incorrect the rest of the time it would be correct. Maybe it isn't possible. I suppose I could make the uninstall exe and log name generic.

The only reason the uninstall and .Net framework install is in the dialog loop is because it is the only way to alert the user that something is happening and the installer is still going. Without the wait dialogs the end user wonders what is taking so long.

I will figure it out thanks for your time.