Page 1 of 1

Silent deinstallation from a Windows service

Posted: Sun Dec 06, 2009 5:53 am
by prunesquallor
I'm trying to run a silent deinstallation from a service, but I'm hitting a problem with Windows XP. I was wondering if anyone has seen this.

On installation, I'm storing the location of the installer/deinstaller (from the variable $UNINSTALLINK$) in the registry.

My service then picks up this value, and executes the package with the "/s MODIFY=FALSE REMOVE=TRUE UNINSTALL=YES" parameter string, using the system ShellExecute call.

The code always works if fired off ineractively from a normal program. It also works from a service under Vista. But it doesn't work from a service under Windows XP, even when the return value of ShellExecute indicates success. Anyone have any ideas?

Thanks,

John B