Re: how to properly do an automatic uninstall?

Marja <[email protected]> Tue, 08 Feb 2005 16:30:56 -0500
Newsgroups gmane.comp.mozilla.devel.xpinstall
Organization Another Netscape Collabra Server User
Message-ID <[email protected]>
HJ wrote:
> Marja wrote:
> 
>> I first understood it is not possible. But it seems to be implemented 
>> in Firefox, so it must be.
>>
>> Please help me, it is embarrashing to explain users to delete the 
>> files etc. by hand.
>>
>> I have tried to do it with Install.uninstall. But how do I refer to 
>> Install when I'm not in install.js anymore? And some sources also say 
>> this does not work.
>>
>> Also I tried jslib uninstallPackage:
>>
>> var
>>     regkey = "Annotea/Ubimarks",
>>     uobj = new Uninstall(regkey);
>>   uobj.uninstallPackage();
>>
>> But this does not work as it needs to refer to the uninstall xul wizard.
>> And if I open the wizard with
>>
>> window.openDialog("chrome://jslib/content/install/uninstall.xul",
>>                       "jslibuninstall",
>>                       "chrome,width=800","Annotea/Ubimarks", function 
>> dotest() {dump("test\n");} );
>>
>> There are no complaints, but it never opens the wizard window.
>>
>> Marja
> 
> 
> I hope this helps:
> 
> http://lxr.mozilla.org/aviarybranch/source/toolkit/mozapps/extensions/public/nsIExtensionManager.idl#73 
> 
> 
> /HJ

Thanks HJ!

This seems to be what I need. I tried the following:

var
   ext = Components.classes["@mozilla.org/extensions/manager;1"], 
                              ext = 
ext.getService(Components.interfaces.nsIExtensionManager);

But ext does not provide the interface. I'm guessing I need to find the 
XPCOM component and .xpt file so that I can experiment with this? Where 
can I find them?

Or is there something else that needs to be done?

Marja