Extensions :  K-Meleon Forum
All about K-Meleon extensions. 
Uninstall/Install extension per user basis?
Posted by: playwin2
Date: December 09, 2009 07:46PM

Hello,

My apologies if this been answered previously.(I did search but found nothing)

I have following queries...
#1) How should I uninstall an extension?

#2) How should I install/uninstall an extension for only one user, not global? (i.e. if X installs an extension then it should not be available to Y)

thanks...

K-Meleon 1.5.3
OS: WinXP

Note: I have already tried K-Meleon Extensions Manager 2.0, which unfortunately doesn't work in my system.

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: guenter
Date: December 09, 2009 09:30PM

AFAIK not supported. It would require a reconstruction of the installer service.

To have it - extensions must be installed in profile not K-Meleon install dir.

When the current installer service/methode was chosen - security was of higher priority than the ability to manage extensions per user via profile. Since one can work around the current limitation with one K-Meleon/user.

p.s. For kmm You can easily automatically or manually drop an extension into ./profiles/.../macros.

But chrome XUL extensions need an automatic or manual path writing to be recognized and found inside ./profiles/.../chrome.



Edited 1 time(s). Last edit at 12/09/2009 09:32PM by guenter.

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: siria
Date: December 09, 2009 11:34PM

Knowing disrupted, I wouldn't be surprised if that option would be added soon ;-)

Until then, just wondering, what if he simply moved the kmm from the global macros folder into the user macros folder, while leaving the rest where it is...?

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: JujuLand
Date: December 10, 2009 03:08AM

Global install instead of user install have adventages, but the major problem induced by global install is the difficulty to clean all profiles.

I'm testing the prefs cleaning under KMES, and if it's possible, it's not easy. But I haven't found yet a way to clean all profiles instead of just the one from which the uninstall has been made.

Even Kext is different, it will be hard to realize.

A+


Mozilla/5.0 (x11; U; Linux x86_64; fr-FR; rv:31.0) Gecko/20100101 Ubuntu/12.04 K-Meleon/75.0

Web: http://jujuland.pagesperso-orange.fr/
Mail : alain [dot] aupeix [at] wanadoo [dot] fr




Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: disrupted
Date: December 10, 2009 10:59AM

if the extension is only a macro..it's not a problem, you just throw it in the macros profile folder and it's just per user but kmeleon as gunter has noted is not built the way like firefox or seamonkey(not very sure about seamonkey..its root folders and profiles are messy) where you can add chrome files or components to the profile..they must be in root so they naturally become global so it's not possible. if an extension includes a macro likemost do, the macro could be set to select profile in kem but it will be pointless as the extension; whether xul or autoit will be installed globally but hidden to other users without its activating macro.. so it's not worth the trouble.

why isn't the extension manager not working? does it not run at all when you select it from the tools menu? in some systems..maybe antivirus etc, make sure that it is included or not restricted in windows in data execution prevention..also the keith part(online installer) will require to be allowed with some firewalls.

if it's running but isn't showing any extensions..then make sure to download and install your extension again, extensions installed pre kem did not include the uninstall ini to make them accessible in kem.

also make sure to download the correct version, there's an nt version for xp and a 9x version

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: playwin2
Date: December 10, 2009 07:37PM

Hello guys thanks for the replies... smiling smiley

So basically km doesn't support the idea of per user basis ext...(maybe in future versions...) BUT .....

Are these statements true (what I learned from the conversation...):

1) There are two kinds of ext....
--- ext which have components (and thus must be installed as a global, because they write in "program files" folder.)
--- ext which don't have components and locales and maybe manually placed in the matching folders(macros, chrome) in user-profile, and might gives us per-user ext.

2) Simply removing the macro(.kmm) file from the particular profile, might remove the ext for that user.

----------------------------

As for why ext manager is not working.... I've no idea....I did download the nt version, but then I might messed it up.....I installed it as an admin, then switch to my LUA account (as I generally do not connect to net as an admin), and tried to install some ext, it restarted my km and prompt ext installed successfully but nothing happened really! so I thought this might require admin access, and so just to test (unwillingly grrr...) I run km as an admin and tried to install some ext, same thing(mad smiley), and the most irritating part is when I choose tools->ext manager all it does is throw a confirm msg dialog that I don't have any ext, do I want some etc. mad smiley so I can't even have the opportunity to test the "offline installation" of the ext manager. mad smiley

-----------------------------

BTW nobody knows how to uninstall a global extension manually? (q1 in 1st. post)

thanks...

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: desga2
Date: December 10, 2009 08:45PM

What extension are you try to install?
How know you the extension wasn't installed?

K-Meleon in Spanish

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: playwin2
Date: December 10, 2009 11:47PM

Quote
desga2
What extension are you try to install?
How know you the extension wasn't installed?

Oh! various nir cacheviewr , addfeed, abp etc.

However good news!

I un-installed and then re-installed km totally, then tried ext manager again as an admin. This time it's seems to work! grinning smiley

Suggestion: It seems one must first install an ext using the ext manager(in other word, online installer), to disable that dreaded "no extension/want some" dialog, then it would run normally (meaning it would display the offline installer box). So I'm suggesting that even if no ext are found, still display the offline installer box.

Advantage(s):
If user already have the .7z file, then they can install it directly, without downloading again. Presently, for the first time, it is forcing user to go online.

edit: More observation:
So as now that I can use ext manager, I start playing with it....drool smiley
I installed bbc-weather and pseudo-history ext with it, all goes well.... then after a while I removed both of them via ext manager. Of course ext manger showed correctly the entries in it's panel : screen-shot , but when I checked further, I saw "sidebar macro - used by pseudo-history" and "wservices macro - used by bbcweather" are still present. screen-shot confused smileysurprised smiley

thanks... smiling smiley



Edited 1 time(s). Last edit at 12/11/2009 01:22AM by playwin2.

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: desga2
Date: December 11, 2009 01:17AM

You can avoid the "No extension installed" dead dialog creating a subfolder named \kmextensions under K-Meleon folder and creating a dummy.ini file.

Or you can execute directlly \tools\keith\keith.exe to install an extension offline already downloaded.

Also you can replace the code in macro file kmextmanager.kmm by this other that include a menu option to install an ext offline in menu tools and context menu in toolbar button:
# K-Meleon Macros (http://kmeleon.sourceforge.net/wiki/index.php?id=MacroLanguage)

# --------extensions uninstaller-experimental-------------------------

$_keu_path=getfolder(RootFolder);
$_profile_path=getfolder(ProfileFolder);
$_keith_path=getfolder(RootFolder)."\\Tools\\keith";

keith{
menugrayed=(substr($LinkURL,0,14)!="http://kmext.s");
exec($_keith_path."\\keith.exe " . $LinkURL);
}

kmextman{
$getlocale=getpref(STRING,"general.useragent.locale");
exec($_keu_path."\\kmextman.exe \"".$_profile_path."\" " . $getlocale);
}

keith_offline{
exec($_keith_path."\\keith.exe");
}

kmextman_BuildMenu{
setmenu("&Tools",inline,"keu_pag");
setmenu("keu_pag",inline,"kem_offline");
setmenu("kem_offline",macro,"Install Ext. Offline",keith_offline);
setmenu("keu_pag",macro,"Extensions Manager",kmextman);
setmenu("LinkSave",inline,"keith_pagina");
setmenu("keith_pagina",macro,"KM Extension",keith,1);
}

extman_BuildToolbar{
$extman_Tooltip=_("Extensions Manager");
pluginmsg(toolbars,"AddToolbar","Extensions Manager,16,16","");
$extman=(pluginmsg(toolbars,"AddButton","Extensions Manager,kmextman,macros("."kmextman"."),"."kem_offline".",".$extman_Tooltip.",16,16,"."extman.bmp[1],extman.bmp[0]",""));
}

$OnInit=$OnInit."kmextman_BuildMenu;";
$OnSetup=$OnSetup."extman_BuildToolbar;";
$macroModules=$macroModules."keu;";

Greetings.

K-Meleon in Spanish



Edited 2 time(s). Last edit at 12/11/2009 02:01AM by desga2.

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: desga2
Date: December 11, 2009 02:07AM

Quote
playwin2
edit: More observation:
So as now that I can use ext manager, I start playing with it....drool smiley
I installed bbc-weather and pseudo-history ext with it, all goes well.... then after a while I removed both of them via ext manager. Of course ext manger showed correctly the entries in it's panel : screen-shot , but when I checked further, I saw "sidebar macro - used by pseudo-history" and "wservices macro - used by bbcweather" are still present. screen-shot confused smileysurprised smiley

Are you tried to restart K-Meleon?
Macro files are deleted but is possible it are loaded by K-Meleon yet.

Uninstall an Ext restart K-Meleon but is possible this restart not worked fine.
Or .ini file to uninstall was bad builded.

K-Meleon in Spanish



Edited 1 time(s). Last edit at 12/11/2009 02:12AM by desga2.

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: siria
Date: December 11, 2009 02:39AM

AFAIK Sidebar is a multiple-macro tool, or how one would call that. It's intended for all macros that use sidebars, not only pseudo-history, so I tend to suspect this is intentionally left there... Because if someone uses it for several macros, those would all be broken if one of them deletes it. Sidebars is an independant macro, perhaps there's a separate uninstaller for it too? It's really a dilemma with such multi-purpose macros...
Perhaps similar for that wheather tool...?
(just guessing cool smiley grinning smiley)

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: playwin2
Date: December 11, 2009 06:01PM

@Siria
ah! that might be the case, brings new complexity, hmm!

@desga2
thanks for the tip and the script(.kmm), will try them in evening.... cool smiley

meanwhile I changed few lines in the kmextman.au3, now it looks like following:

Attachments: kem1.PNG (7.2 KB)  
Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: disrupted
Date: December 11, 2009 06:46PM

no..the only extensions that can be installed per user are those that are made of macros only, chrome files have to be in root.

the only proper way i can think of to make extensions installed per user is have 2 different folders(installations) of kmeleon, use an empty profile.ini in each kmeleon root folder..this can be impractical with many users..but if just 2 or 3 users, it's not a big deal because the kmeleon default installation is not too big.

copy the entire kmeleon folder in another location..and copy empty profile.ini
http://kmext.sf.net/scripts/profile.ini

into that kmeleon folder, this way kmeleon will create aand use a different profile for that folder..create a shortcut to kmeleon.exe on desktop etc for the current user only(not all users).. log off and repeat, log off and repeat when needed for more users..

now every user has their own kmeleon and their extensions will be installed in their kmeleon only.

to install an extension manually, you just have to extract it with 7zip right into kmeleon folder.

siria is right on the money..some macros are universal for differnet extensions so they use the same menu..like web serverices, network and development menus..so it's left there deliberately in case there are more extensions that use that same menu (history is the only one using sidebar for now but i was planning to make a pseudo bookmarks).. anyway..don't worry about those macros and don't disable them..they won't create an empty popup menu if no extension is using them and they have no affect on kmeleon performance.

nice idea on opening the dialog without extensions..i didn't know how to do that because the array would give me an subscript error, i asked at autotit forums back then but they were not helpful, desga is now the main programmer for extensions manager, but i think opening it even when no extensions are installed is a good idea..will certainly avoid confusion and gives ability to run keith directly..would you care to share the new source?

please send it to kmeleontesters@yahoo.co.uk

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: playwin2
Date: December 11, 2009 08:07PM

hmm! interesting, will try that.

Quote

nice idea on opening the dialog without extensions..i didn't know how to do that because the array would give me an subscript error, i asked at autotit forums back then but they were not helpful, desga is now the main programmer for extensions manager, but i think opening it even when no extensions are installed is a good idea..will certainly avoid confusion and gives ability to run keith directly..would you care to share the new source?

please send it to kmeleontesters@yahoo.co.uk

Certainly.... no problem will send you the code.

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: disrupted
Date: December 11, 2009 10:27PM

thankyou playwin.. i tested it and your code is perfect, you certainly know autoitit better than i do (envious)grinning smiley. i updated kem with your update..it's now version 3.0, thank you so much

http://kmext.sourceforge.net/kem.htm

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: playwin2
Date: December 12, 2009 06:41PM

wow! thank you disrupted. grinning smileycool smiley

@desga2
I just tried your macro, yes it did the trick.cool smiley

EDIT
OOoooops! more bug fun tongue sticking out smiley

1) clear cache
2) visit ext home page (help->Extensions Centre)
3) roam around different sections....roam...roam...(do not d/l anything)
4) quit k-meleon (make sure you didn't set clear cache on exit... etc.)
4) go offline . (make sure you are really offline, just clicking disconnect won't do, if needed switch off your router, well at least in my case)
5) start k-meleon
6) view those ext pages from cache
7) now right click on any ext(.7z) file, and choose "KM Extension"
8) watch tongue sticking out smiley (this one is really hilarious)

thanks smiling smiley



Edited 1 time(s). Last edit at 12/12/2009 08:39PM by playwin2.

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: guenter
Date: December 13, 2009 03:18AM

Quote
JujuLand
Global install instead of user install have adventages, but the major problem induced by global install is the difficulty to clean all profiles.

Not needed to clean all, when installing into used profile is the rule, and global possible.

Users only have to agree about globaly installed extensions.

BTW. AFAIK. It was the advantage of the SeaMonkey installer service to be able to use profiles and global for install. The service caters for chrome installs also. Security was its major handicap. It was decided not to use this service. After a proof of concept was working.

We have to wait for the move to toolkit. Then k-eleon will probably be able to use FF/Xulrunner XPI install service. That has another, stricter savety concept. And it can install chrome extensions.



Edited 2 time(s). Last edit at 12/13/2009 03:31AM by guenter.

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: JujuLand
Date: December 13, 2009 03:54AM

Quote
guenter
Not needed to clean all, when installing into used profile is the rule, and global possible.

Users only have to agree about globaly installed extensions.

Hum, for me the extensions are global (especially chrome one). Just kmm files could be installed for a profile.

Quote
guenter
BTW. AFAIK. It was the advantage of the SeaMonkey installer service to be able to use profiles and global for install. The service caters for chrome installs also. Security was its major handicap. It was decided not to use this service. After a proof of concept was working.

I remember that.

Quote
guenter
We have to wait for the move to toolkit. Then k-meleon will probably be able to use FF/Xulrunner XPI install service. That has another, stricter savety concept. And it can install chrome extensions."

You are the specialist of chrome, but I'm not as sure as you that we will be able to use it.

A+


Mozilla/5.0 (x11; U; Linux x86_64; fr-FR; rv:31.0) Gecko/20100101 Ubuntu/12.04 K-Meleon/75.0

Web: http://jujuland.pagesperso-orange.fr/
Mail : alain [dot] aupeix [at] wanadoo [dot] fr




Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: guenter
Date: December 13, 2009 05:51AM

Quote
JujuLand
You are the specialist of chrome, but I'm not as sure as you that we will be able to use it.

Was! Preteritum. smiling smiley

Now - I can think at least of 2 contributors that know more than me.
This is IMHO real good/cool. grinning smiley

We'll see about technical aspects when we are @ 1.9.

p.s. The 2 different XPI installer services have chrome paths implemented. We will look what we can use and what we want to use (remembering past security problems).



Edited 1 time(s). Last edit at 12/13/2009 05:56AM by guenter.

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: siria
Date: December 13, 2009 05:05PM

Quote
JujuLand
Hum, for me the extensions are global (especially chrome one). Just kmm files could be installed for a profile.

Hmm, does the rest of the extensions stuff care if its kmm-macro is global or in a user profile...? Or is it necessary for possible chrome and plugins to also be in the profile if the kmm is, and what about components?

But in general I guess most macros/extensions don't seem so complicated, so it should be possible to just move their kmm from global macros into profile macros, and then all other users don't get the macro menu anymore, and so can't use the other compononents of the macro either - ?

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: JujuLand
Date: December 13, 2009 07:29PM

Well, it's not a great problem to install in profile macro folder, just needed to add it in the setup. But I think there is no plus-value, except perhaps concerning folder rights (we have or not in K-Meleon folder). It's easy to bypass the restrictions with Linux, but don't know how to do with this shit of Vista.

But for sure, when installed in global mode, there is no need to install for all the profiles, and it's not too much hard to disable the macro (F2) for each nuwanted profiles.

For chrome, except if I have lost my head, K-Meleon only takes chrome, and components in global folders.

With 1.9, it will perhaps be possible, but not sure that K-Meleon 1.6 has already this feature.

A+


Mozilla/5.0 (x11; U; Linux x86_64; fr-FR; rv:31.0) Gecko/20100101 Ubuntu/12.04 K-Meleon/75.0

Web: http://jujuland.pagesperso-orange.fr/
Mail : alain [dot] aupeix [at] wanadoo [dot] fr




Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: disrupted
Date: December 13, 2009 07:41PM

Quote
playwin2
wow! thank you disrupted. grinning smileycool smiley

@desga2
I just tried your macro, yes it did the trick.cool smiley

EDIT
OOoooops! more bug fun tongue sticking out smiley

1) clear cache
2) visit ext home page (help->Extensions Centre)
3) roam around different sections....roam...roam...(do not d/l anything)
4) quit k-meleon (make sure you didn't set clear cache on exit... etc.)
4) go offline . (make sure you are really offline, just clicking disconnect won't do, if needed switch off your router, well at least in my case)
5) start k-meleon
6) view those ext pages from cache
7) now right click on any ext(.7z) file, and choose "KM Extension"
8) watch tongue sticking out smiley (this one is really hilarious)

thanks smiling smiley

grinning smiley it's not really a bug, keith downloader works independently from kmeleon, it can check first if km is working offline by passing the value kmeleon.general.offline as parameter but it's not really useful..but i guess because it's more important if it can check the network status with router..in dialup, it's not a big deal because will initiate a dialup connection..but in dsl/cable it can be problematic if the router is turned off, or if it' uses a company intranet, it will download forever.. there's some command in autoit to check network status.. i'll check it out, there's always room for improvement ofcourse smiling smiley

siria, the components or chromes will be enabled but the macro will not make them accessible which is not a true per user installation..some components don't even require a macro to make use of them.. the main problem is, if for example there are 3 users, 2 are using the same extension and 1 isn't, if one of the users who has the installed extension(with macro in profile and the other files installed globally)decides to uninstall the extension..it will remove the macro and all the chromes or components..so the second user will have the macro without the other necessary files..will create a mess.. the only proper way is if components and chromes are installed in profile like firefox, i'm not very sure about firefox proper per user installation for components, i've seen firefox throw components for some extensions globally and not in the profile

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: guenter
Date: December 14, 2009 09:27PM

Quote
JujuLand
For chrome, except if I have lost my head, K-Meleon only takes chrome, and components in global folders.

With 1.9, it will perhaps be possible, but not sure that K-Meleon 1.6 has already this feature.

1.) You can test with a SeaMonkey 1.8 GRE & Chrome (SeaMonkey style chrome required for experiment, if i remember right) and the SeaMonkey 1.8 installer service. It has two install methods global and profile based. Chrome needs full path if I remember rightly. The service makes it. But this service is unselective and tries to install all xpi (which is dangerous and will cause FAQ if it fails)

2.) The feature is not implemented. I have no idea how to make its XUL work.

Our build instructions say:
ac_add_options --disable-xpinstall

Which means the feature is not build into any 1.8 nor any 1.9 GRE.

BTW. The XULrunner/FF installer service will install NOT ANY Firefox extensions - it will check instead whether this K-Meleon version is supported by the extension author!

It will prevent the very item that end users expect grinning smiley

And it will give the black card to the extension makers.
If an extension does not install.
They are the ones that write the included list tongue sticking out smiley

But I guess we will have to post at this at the top of this forum - for a new FAQ. smiling smiley



Edited 2 time(s). Last edit at 12/15/2009 11:25AM by guenter.

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: JamesD
Date: December 15, 2009 02:52AM

I am pretty much a novice when it comes to extensions. I have only ever done macros. I hope my comments and questions will not seem out of place here.

Quote
Jujuland
For chrome, except if I have lost my head, K-Meleon only takes chrome, and components in global folders.

I noticed that I have chrome in the root/chrome folder and also in the profile/chrome folder. Policymanager.jar and Policymanager.manifest are in root/chrome and Preferential.jar and Preferential.manifest are in profile/chrome. I may have done one of the installs myself using a 7z file.

I also have a kmextensions folder in my profile with Preferential.ini file there. Just my observation from my own installation and may not have meaning in your current discussion.

I do not see components anywhere except root/components.

Options: ReplyQuote
Re: Uninstall/Install extension per user basis?
Posted by: guenter
Date: December 15, 2009 11:42AM

I'd swap my info about SM extension service against your info about macros grinning smiley

You can experiment with SeaMonkey 1.8 XPI installer service if you install a K-Meleon 1.x except its own chrome and chrome service into a SeaMonkey install.
If I remember correctly the service can create components, chrome and plugins folders in profile when it installs items.

No idea how to do that with Firefox XPI installer service and 1.6..



Edited 1 time(s). Last edit at 12/15/2009 11:42AM by guenter.

Options: ReplyQuote


K-Meleon forum is powered by Phorum.