Archive: getting user feedback on uninstall


getting user feedback on uninstall
Hi, is there any plugin or example to request the user for feedback on uninstalling the app? I.e. to ask why they uninstalled.

(I guess it would post to a web form or something)


It's ok, I think I will just open a web browser window to a webpage on uninstall, that will probably be much easier.


except, there is a problem with opening browsers in the uninstaller, mainly, the add/remove program window waits for every uninstaller child process


Really? I just tried on XP and there didn't seem to be a problem.

I did use this technique: http://nsis.sourceforge.net/Open_lin...browser_window

Which is better than plain ol' ShellExecute.


Originally posted by xDan
Really? I just tried on XP and there didn't seem to be a problem.

I did use this technique: http://nsis.sourceforge.net/Open_lin...browser_window

Which is better than plain ol' ShellExecute.
That code is both wrong and stupid, ExecShell is the correct choice

Yeah, ow, use ExecShell as Anders says.


So are you going to bother to back that up with facts? Why exactly is it stupid?


Originally posted by xDan
So are you going to bother to back that up with facts? Why exactly is it stupid?
ExecShell calls ShellExecute and that is correct way to open a url. Parsing the registry on your own is so error prone and not future proof.

1) ReadRegStr $0 HKCR "http\shell\open\command" "" is problematic since open might not be the default verb, you would have to read HKCR "http\shell" "" first and get the default verb, if empty, use the first key found, if no keys are found, use open (this sounds weird, but thats how it is)

2) This code does not handle REG_EXPAND_SZ

3) Does not handle DDE, DropTarget or shellex handlers

4) Breaks shellexecute hooks

In short, it could start the wrong browser or not start anything at all. The specifics of ShellExecute is way to complicated for someone to emulate in a simple helper function like this

Well, ok then, I didn't realise that. ShellExecute is still annoying, though, in that in some cases it will use an already open window.


Originally posted by xDan
Well, ok then, I didn't realise that. ShellExecute is still annoying, though, in that in some cases it will use an already open window.
That is not ShellExecute's fault, it depends on the end user's setup (default browser and how this browser is registered)

You could try

rundll32 url.dll,FileProtocolHandler http://example.com
probably not documented and might just call ShellExecute internally, I don't know

edit:
yeah, on XP.SP2 at least, it just calls ShellExecuteA

Thanks anyway. I guess this isn't really a critical situation, I can live with a few problems if they are uninstalling the software trial anyway.