If you try to
start a process that requires "elevation" (i.e. admin-rights), which your Uninstaller probably does,
from a "non-elevated" process (i.e. a process
not running with admin rights)
using a function like
Exec or
ExecWait, then it's just going to
fail! You can use
ExecShell, which will trigger an UAC dialog and, if the user agrees, launch the process. But then you can
not wait for the process to finish...
I implemented the
ExecShellWaitEx function for exactly that reason:
http://muldersoft.com/docs/stdutils_....html#a3d3af46