View Issue Details

IDProjectCategoryView StatusLast Update
0006710MMW v4Install/Configpublic2022-11-14 13:45
ReporterLudek Assigned To 
PriorityimmediateSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.2.2 
Target Version4.0Fixed in Version4.0 
Summary0006710: Non-Admin users can't install plugins
DescriptionThe problem has been already resolved for Scripts and Skins as part of the issue 0004912
The same should work for plugins.

i.e. user should be able to install plugin without admin rights too, this can be resolved by adding
'[x] Install for the current user only (doesn't require admin rights)'
checkbox during installation of a plugin and ticking this checkbox causes the plugin to be copied to
C:\Documents and Settings\<user>\Application Data\MediaMonkey\Plugins\
instead of
C:\Program Files\MediaMonkey\Plugins\

Also new scripting method should be added:
SDBApplication::LocalPluginsPath
-> C:\Documents and Settings\<user>\Application Data\MediaMonkey\Plugins\

in addition to current SDBApplication::PluginsPath
-> C:\Program Files\MediaMonkey\Plugins\
Tagstodoc-help
Fixed in build1327

Relationships

related to 0004912 closedLudek MMW v4 Non-Admin users can't install scripts 
related to 0007269 resolvedLudek MMW v4 Uninstall of old version of scripts/skins during installation of new version doesn't work always 
related to 0007273 closedLudek MMW v4 If a script is presented as both local and global then it is running twice 
related to 0007303 closedLudek MMW v4 SDB.RegisterIcon: Should support Global and user paths 
related to 0007435 closedLudek MMW v4 SDBFileSystem: Tweaks 
related to 0019455 assignedrusty MMW v4 iOS 17 support for MM4 

Activities

Ludek

2010-11-18 15:47

developer   ~0021381

Last edited: 2010-11-18 15:50

Added in build 1327.

Note that plugins installer should be a MMIP package that uses our [copy] file section. Then it automatically converts global plugins path to the local plugin path.

This resolves backward compatibility issues and following

[Copy]
Src=gen_LastFMScrobbler.dll
Tgt={app}\Plugins\gen_LastFMScrobbler.dll

still works and if user checked the '[x] Install for the current user only' then the DLL is copied to the user's plugin folder otherwise it is copied to the global plugins folder.

Note that I also added some new path variables:
{gpf} - Global Plugins Folder
{lpf} - Local Plugins Folder
{gsf} - Global Scripts Folder
{lsf} - Local Scripts Folder

it means that
Tgt={app}\Plugins\gen_LastFMScrobbler.dll
is the very same as
Tgt={gpf}\gen_LastFMScrobbler.dll

{lpf} and {lsf} shouldn't be needed, because MediaMonkey automatically converts {gpf} to {lpf} if needed as described above.

Ludek

2010-11-18 16:56

developer   ~0021382

Last edited: 2010-11-18 17:16

Re-opened due to some tweaks:

1. There is a need for
SDBApplication::CurrentAddonInstallRoot
that will return folder based on the selected type of installation, i.e.
C:\Documents and Settings\<user>\Application Data\MediaMonkey\
OR
C:\Program Files\MediaMonkey\

2. If the same plugin is presented in both plugin folders then the plugin from the current user's folder should be loaded and the other ignored

Ludek

2010-11-19 08:54

developer   ~0021395

Fixed in build 1327.

peke

2010-12-17 03:04

developer   ~0021888

Verified 1335