Archive: If I start an application during uninstall, uninstall freezes at end


If I start an application during uninstall, uninstall freezes at end
Hi Guys,

In my uninstall process, I restart HotSync.exe. If I use 'Add/Remove Programs' to do the uninstall, the uninstall freezes at the end until I exit out of HotSync.exe. Then it finishes normally.

I have tried everything I can think of. It doesn't matter how I restart HotSync.exe, if it is still running when the uninstaller finishes, I'm hosed.

Any ideas? This doesn't happen with InstallShield.

Thanks,

Scott Maxwell
PocketPurchase, Inc.


Are you using ExecWait?
Try the others Exec's...


Not using ExecWait. The normal way to do it is to just call `HsSetAppStatus(HsRestart,0);'. This is a Palm call to restart HotSync.exe. If you run the uninstaller outside of Add/Remove, it does appear to finish and removes itself from the task list. 'Add/Remove Programs' just gets stuck when it is done.

I have also tried exec and CreateProcess. In CreateProcess, I tell it to be a separate process. Same results no matter what I try.


I've had similar problems with Hotsync when removing a conduit. I suspect it has something to do with with the Add/Remove Programs monitoring of the files under the directory you're uninstalling from (however it does that size estimate), perhaps because typically you're removing your conduit DLL and/or program-specific copies of the Palm DLLs.

(EDIT: I remove the conduit by calling out to Palm's PCI.exe rather than using a plugin, so I'm fairly confident it's not my fault.)

I never found a solution, and had to resort to the brute force method: before uninstallation just kill Hotsync altogether (FindWindow "KittyHawk" "Hotsync Manager", then SendMessage hwd 48837 1 0), and afterwards tell the user they'll have to restart Hotsync Manager themselves, or restart their computer :/