Greetings to everyone...

We're developing DLL, which installs our XPI package file - for installation we used -install-global-extension, so now DLL installs XPI without starting FF with install dialog. But also we need to develop UnInstall method, which would uninstall xpi from FF without user help. I've noticed that such option we'll be available in FF 1.5, but we need to make it work till that time and also we have to support earlier version of FF.

I've noticed nsIExtensionManager service and managed to create uninstall method in XUL (of Extension) - and it really works fine, here it is:

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

But we need to put that func inside our XPCOM component... i've translated it - but it doesn't work, here it is:

nsCOMPtr<nsIServiceManager> servman;
nsresult res = NS_GetServiceManager(getter_AddRefs(servman));

if (res == NS_OK)
{
        nsCOMPtr<nsIExtensionManager> extMan;

res = servman->GetServiceByContractID("@mozilla.org/extensions/manager;1", NS_GET_IID(nsIExtensionManager), getter_AddRefs(extMan));
        if (res == NS_OK)
        {
             res = extMan->UninstallExtension("{our_extension_GUID}");
                        
             if (res == NS_OK)
             {
                MessageBox(NULL, "uninstall succeeded!", "!", MB_OK);
             }
        }
}

We always got message -- "Uninstall Succeeded", but Extension remain 
uninstalled.

P.S> THNXm for attension, looking forward fr your help, guys.

With Best Regards,
Anatoly Kaverin, Firefox VEngine team
Comodo CA Limited
http://www.vengine.com http://www.comodo.com
[EMAIL PROTECTED]
MSN: [EMAIL PROTECTED]


_______________________________________________
Mozilla-xpinstall mailing list
Mozilla-xpinstall@mozilla.org
http://mail.mozilla.org/listinfo/mozilla-xpinstall

Reply via email to