Why do we show a dialog if there are no uninstall entries found in the registry? Windows does not do that, and I think we shouldn't either.
However, on that same note, I think we should, since this uninstaller is not designed to mimic Windows' Add/Remove Programs, catch when a program's uninstaller does not remove it's uninstall entry from the registry, after the process exits, and go ahead and remove the entry.
I already have a patch for the 2nd question ready to be committed once my patch to check HKCU is committed, however I am waiting for comment before I actually send it. The first question I will wait to write a patch for, however it is only like a 4 line patch..
Hi Tom,
I've watched your discussions for a while and have been meaning to comment but have been super busy. The uninstaller was one of the first things I looked at when getting in to wine development and it confused me to no end due to a bug that only showed up when running it under windows.
On 4/25/07, Tom Spear speeddymon@gmail.com wrote:
Why do we show a dialog if there are no uninstall entries found in the registry? Windows does not do that, and I think we shouldn't either.
I agree.
However, on that same note, I think we should, since this uninstaller is not designed to mimic Windows' Add/Remove Programs, catch when a program's uninstaller does not remove it's uninstall entry from the registry, after the process exits, and go ahead and remove the entry.
The whole windows uninstall process was borked for a long time until the advent of msi. I think we should follow the behavior of newer versions of windows and if the process fails to remove the entry, the next time the user tries to uninstall the application, it should prompt to remove the offending entry. I know it seems dumb, if the uninstall really did work but was just being stupid in not removing the entry, why not remove it? I just worry we will get in to a situation where the uninstall partly worked and uninstall.exe goes ahead, removes the entry and then the user is left with old files floating around. Better to leave the entry and then the next time they try to run it, prompt them to just remove the offending entry.
Thanks
On 25.04.2007 19:58, Steven Edwards wrote:
Why do we show a dialog if there are no uninstall entries found in the registry? Windows does not do that, and I think we shouldn't either.
I agree.
So a user starts the uninstall app but doesn't see a dialog... and probably thinks it's a bug. On the other hand, just showing a dialog with an empty list makes it clear that there's nothing to uninstall and will probably not produce false bug reports.
I just worry we will get in to a situation where the uninstall partly worked and uninstall.exe goes ahead, removes the entry and then the user is left with old files floating around. Better to leave the entry and then the next time they try to run it, prompt them to just remove the offending entry.
Or perhaps don't ask but just remove the entry?
-f.r.
On 4/25/07, Frank Richter frank.richter@gmail.com wrote:
So a user starts the uninstall app but doesn't see a dialog... and probably thinks it's a bug. On the other hand, just showing a dialog with an empty list makes it clear that there's nothing to uninstall and will probably not produce false bug reports.
Good point. I will leave it alone.
I just worry we will get in to a situation where the uninstall partly worked and uninstall.exe goes ahead, removes the entry and then the user is left with old files floating around. Better to leave the entry and then the next time they try to run it, prompt them to just remove the offending entry.
Well, if we remove the entry, we need to let the user know what is going on. Windows does it this way, and the reason is because (at least with some of the smarter users), it will make them realize that they should check to see if there are any stale files hanging around.
On 4/25/07, Steven Edwards winehacker@gmail.com wrote:
Hi Tom,
I've watched your discussions for a while and have been meaning to comment but have been super busy. The uninstaller was one of the first things I looked at when getting in to wine development and it confused me to no end due to a bug that only showed up when running it under windows.
I assume, then, that you have since fixed it? If not, I'd like to take a stab.
The whole windows uninstall process was borked for a long time until the advent of msi. I think we should follow the behavior of newer versions of windows and if the process fails to remove the entry, the next time the user tries to uninstall the application, it should prompt to remove the offending entry. I know it seems dumb, if the uninstall really did work but was just being stupid in not removing the entry, why not remove it? I just worry we will get in to a situation where the uninstall partly worked and uninstall.exe goes ahead, removes the entry and then the user is left with old files floating around. Better to leave the entry and then the next time they try to run it, prompt them to just remove the offending entry.
Ok, then that is the current behavior, so I will leave it alone.
On 4/25/07, Tom Spear speeddymon@gmail.com wrote:
I assume, then, that you have since fixed it? If not, I'd like to take a stab.
Someone fixed it a while back. I don't know what the cause of the original bug was. When your done with your testing if you don't mind and have MSVC or a mingw cross-compiler handy please check and make sure it still works. I think the ReactOS guys might still use it.
Tom Spear wrote:
However, on that same note, I think we should, since this uninstaller is not designed to mimic Windows' Add/Remove Programs, catch when a program's uninstaller does not remove it's uninstall entry from the registry, after the process exits, and go ahead and remove the entry.
What happens if you cancel the uninstall? Won't the uninstaller remove the entry with the program still installed?
On 4/25/07, Robert Shearman rob@codeweavers.com wrote:
What happens if you cancel the uninstall? Won't the uninstaller remove the entry with the program still installed?
That is true too. I was originally thinking along the lines of checking the exit status of the uninstaller, but whether it is cancelled, or completes successfully, or hell, crashes for that matter, it's not going to give you a usable (in this context) exit status.
So I decided to scrap that idea.