This one is perplexing.

I have written an major upgrade script for my application. When I make major upgrades I change my GUID so the patches can make sure they are being applied to the correct version. In these major upgrades, I uninstall the previous version. The uninstall launches and ask the question as to whether to run the uninstall or not. If I click YES too quickly, the uninstall hangs. If I let the dialog rest on the screen for awhile (30 seconds) and then click YES the uninstall works perfectly. I can see the Uninstall in Task Manager, but it is taking 0 cpu cycles.

How do I go about finding what is happening here?

Thanks in advance for your expertice.