Ye this would also be more secure because the user needs to accept the download. But it is not so userfriendly like a own protocol.
I think, first it need some precise wording, before building list of possible realizations.
I.e., what is the final goal of this change? If it is to simplify the plugins installation, what would process the task? Miranda itself? Not impossible, but needs some real coding.
May be backport certain functions of Updater plugin into Miranda core. Like, downloading addon, backing up existing files etc. Then Updater could just call the API.
I've experimented with DDE in Delphi quite a while ago, and it seems to me like a good way to do this. AFAIK, a dll can be run by the OS, not only by an app, so if it gets a file/uri, it could (download and) process the addon package, extract/initialize it for the default MIM installation and:
1. if MIM's running, notify it, and MIM could load the added module (dunno if this is possible at runtime, could work for at least some of the addons, I guess
2. if MIM's not running, display a notification that the addon has been installed and if the user wants to run MIM
If the dll approach is not usable, a simple small executable could do the work described above.
Well, there is a lot of history behind this
1. It's Updater it changes what already there, so there never will be a new dll.
2. Pretty much no plugin stays by itself, other plugins use it services and capability and presence determined at startup by most plugins , you start changing modules at runtime and Miranda will become unstable and most likely crash. This is why we did not implement dynamic loading and probably never will, even though that technically it's very simple. Nearly no plugin has protection for services disappear at runtime.
3. The current method updater works was demanded by users. Downloading in the background was an original method updater worked and this was not convenient to users. The problem was even though updates in background sounds attractive in theory in reality, users work differently. We come in the morning to work we see a bunch of updated plugins we update. Other way we come in the morning to work we login into Miranda type status message etc., and now oh crap I got an update I need to do all the login stuff again. And nobody wants to just click popup and do it later as after that there is no time, work day starts, and in the evening hell no I am heading home.
The whole updates in background idea came because very few plugins published on addons thus Updater takes long time to check all these websites, if updated addons site will pursue authors to use addons again problem will disappear by itself.