Hi,
I'm not really following you on the installation question. File system permissions are set on the file system, the identity of the application pool is the user who must have file system permissions for reading and writing to the file system. Yes you could limit use of some installer functionality to a site user in the admins role, but the web process does not run as the site user and does not execute with permissions based on the site user unless you are using impersonation and this only works with windows authentication which does not work on the internet. So the web process is going to run with the same permissions no matter who is signed in or even if the request is anonymous. So the only protection you have is in the application code where you can limit what a user can do. But you get additional protection from the file system by not making it writable, then even if someone finds a way around or a way to exploit your application code, they cannot install unwanted code. Anyone who can manage to bypass you or exploit your app logic and install executable code essentially now owns your app/site. It is basic security strategy to reduce attack surface, making the whole web file system writable opens up a much larger attack surface.
My opinion is that giving write permission on the whole file system to the web process user is a bad idea. I design my add on features to be installed by ftp by constructing the package such that uploading the files in the root of the package to the root of the web site makes everything land in the right place. It is very easy to install but it requires using ftp.
If someone wanted to make a feature for mojoPortal that could be used to install other features it certainly would be straightforward to implement and could be used if the whole web file system is configured as writable but it is not something I really want to bake in as a requirement for the whole file system to be writable or encourage as a best practice.
Other strategies that occur to me would be implementing an install arrangement where the user uploads a .zip to a writable folder under /Data, and a more privileged Windows Service comes along and does the installation, but this would only be possible in dedicated server environments where you could install the windows service. At the end of the day I really don't think it is so difficult to just install with ftp.
I am very interested in having a REST API wrapping most functionality. If you would like to help with that, it would be great as I have a lot of other things much higher on the priority list and my current plan is just to implement REST methods on a case by case basis as I find need for them. So if you have an interest in working on a more comprehensive REST API, I would welcome your help on that.
Best,
Joe