ShellPlugin uninstall

Got a problem you cannot solve? Try here.
Pixbyte
Posts: 19
Joined: Tue Feb 07, 2006 4:04 pm

ShellPlugin uninstall

Postby Pixbyte » Thu Feb 16, 2006 12:24 am

Hello,

I try to make it possible to uninstall an ShellPlugin completly. I unregister the file. Works fine. But then I need to delete this file. If no reboot occours the file cannot be deleted. I tried the function "Reboot and Resume" inside the uninstall section but this brings me in an reboot loop.

So how this can be done the easiest way? Things like that were very easy with InstallShield, so please help me.

Ingo

K-ballo
Posts: 15
Joined: Mon Oct 10, 2005 7:45 pm

Postby K-ballo » Thu Feb 16, 2006 3:29 am

Maybe you could check the Call DLL Function with MoveFileEx. You should use it this way:
MoveFileEx( existingFile, NULL or 0, MOVEFILE_DELAY_UNTIL_REBOOT );

or you could do the same by yourself by adding an entry to this registry key:
HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\PendingFileRenameOperations
whit a multistring value, first the existinfilename, and then a null string.

Unfortunatelly, this method only works under WinNT based OS.

I'm sure someone on this forum more experienced than I could give you a less vague answer...

MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Postby MichaelNesmith » Thu Feb 16, 2006 5:57 am

Hi Ingo,

I'm really not sure why you chose to complicate things with a manual deregistration and then reboot...if you are installing and registering the file with InstallAware, it will be automatically deregistered and uninstalled upon uninstallation. So why the need for manual scripting?

If you still want to use manual scripting, you probably have a script error - are you checking that the file to deregister actually exists, before deregistering it and rebooting the setup? If you are unconditionally deregistering and rebooting before Apply Uninstall, its inevitable that the setup enters a loop.
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/

Pixbyte
Posts: 19
Joined: Tue Feb 07, 2006 4:04 pm

Postby Pixbyte » Thu Feb 16, 2006 8:10 am

Hi Michael,

I tried this. I install the file as selfregister/shared. It installs well, but after uninstall the file is still in the folder and it is still registered cause the ShellMenu entries are still there. If I manual unregister everything is works well.

In this case an next question occours. I have 4 files that I set to shared. An ini file, an activex an executable and an DLL. After uninstall the exe and the dll is still there. But the activeX and the ini file are uninstalled ok. Why this? There is no software instaleld that has another shared flag on it.

Ingo

MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Postby MichaelNesmith » Thu Feb 16, 2006 3:16 pm

Hi Ingo,

I believe perhaps as part of your tests, the reference to the rogue DLL may have been incremented. That would be the only reason it still survives an uninstall.

Deregistration will work, and will remove the DLL if its not locked. If it is locked, and the file has no references left to it, it will be gone after a reboot.

I also strongly recommend clean machine testing using tools such as VMware. It helps work around artifical problems like this.
Michael Nesmith

InstallAware

Home of The Next Generation MSI Installer

Get your free copy today - http://www.installaware.com/


Return to “Technical Support”

Who is online

Users browsing this forum: No registered users and 146 guests