Package Installer as a System Service

Hi to all,
what do you think about an OS-level Installer ?
Whit this, the OS could force any application to register from here, and for example to grant the execute permession only to some classes (specified in the package manifest file, or inspecting all the jars contained in the package). This could also keep a true list of dependencies between the components required and installed.

And this Service could install any package (depending on the type) where is the default place, without ask to the user. In this manner we could also have a clean file system ...

Other commands that this Service could have are: Uninstall, Update, Check package, etc.

The base idea is that of the Linux RPM, but I'd prefer a zip format, with custom packaging xml files inside ...

Anyone has tried a new Linux distro (free) called Gentoo ?
They have created an innovative packaging system called PORTAGE ... the idea is very similar to this, but not having Java as a foundation they can't do inspection inside the packages and other useful things.

Best Regards,
Sandro Martini

How about JNLP-based?

Are there any existing Java installers out there that could be leveraged?
The first one that comes to my mind is the JNLP framework (aka Java Web Start). This should be at least suitable for the majority of applications, as well as jar libs.

This idea is great..we need sometthing like this

As I said the idea is great. We should work with jar archives as standard or not? Macking such an installer in java has huge advantages..we could make the installer be pluginable so that a webserver for example could tell the installer what to do with the ".war"s or an application server cou come and tell the installer that when one wants to install an ".ear" the ionstaller should copy the ear to deploy directory..etc.. I think such an idea is great..will you start working on that? Maybe you could write a design diagram and than other peoples could give I help.


Hello Valentin, I'm very happy that you like my idea ... in my little time I could try to help to design and implement this. In the next days I'll prepare some docs about these ideas, and post here.

At the moment I'm still not able to test the JNode distribution (I haven't VMWARE), and then I must set-up my Development Environment ... but if you can give me some time I'll be very happy to join this Project.

I have also other ideas related to the Security of the System, I'll post in the next days. Under which Category of the Forum ? This ?

Sandro Martini

Installer and ServiceManager


I just wanted to say some thing about how the ServiceManager and an Installer would relate.

The ServiceManager is a component achitecture management system. It provides a central loaction for users to locate components and for compoenents to find eachother. It also acts as a proxy buffer between components, wich protects against cascading failures.

In Linux everything except for a few key programs is built on the package (rpm) framework.
The same idea is possible with the ServiceManager. The os would be completely modular, providing for a wide targe range. The ServiceManager provides the advantage of internal dependence management. The ServiceManager also validates and installs its own services.

However, not everything that should be installed on the os would be a service. Hardware abstraction software might not be a service. Also an installed service might need to manage a set of sub-installations. Something like an EE server would need to install ears and wars.

In conclution, I need to say that, thought the ServiceMangager has several proponents among the developers here, it has not yet 'officailly' been added to the project.

I will be submiting an initial version of the ServiceManager in the next couple of days.
The package will include notes, javadoc api, installation documents, demonstration examples, and a discussion of key concepts.

Thanks for listening.


whats wrong with java web start. There are plenty of open source implementations.

Get VMWARE if you can. It works great.


oops I see this is redundent but still the question is valid.

JNLP, Installer and ServiceManager

nothing is wrong with JNLP, I use it for Deploying my Web Applications in Java, and it's great !!

But what I was expecting in a new OS like JNode is a sum of Structural Os-Tools that give to the User (and to the Pc where it's Installed) a Full Security against any type of malicious or Bad created Software.

For example, I like the ideas behind the ServiceManager.
We must force the System to execute ONLY Applications installed with any ServiceManager, or another Tool similar. In Linux this is done with RPM or other similar formats (remember the Gentoo Portage ... beautiful), BUT in Linux any user can also bypass this, so when I Install anything what grants me to not destroy or damage the entire System ? Ok, we have the User Grants ... but couldn't it be better if the OS itself could also protect from this ? In Gentoo Linux when I Install the OS I can choose which type of Security I want for the System being installed ... very good, but I think that in this something is missing.

Imagine something like a JNDI namespace, where all Applications will be installed under /apps , system drivers, tools etc under /system/drivers etc, whithout being able to change this dyrectly, because the InstallerManager is the owner of all this.
Any thing related with JNode (drivers, etc) should be digitally signed by, and managed differently from any other thing.

Now it's simple to understand that JNLP if valid, but having all of this under ... I hope you like this.

I finish with my last vision about this:
the InstallManager could also ask to the User (at the first time, or later when the User Opens it's Console) to grant some abilities to the various Applications, like a Firewall to open Sockets, or to read / write in dir others than that of the Application , and so on.
But the key of this is to have that Os-Service owner of all Installations. Valentin Chiara also tell me that we could also extend this Service including in the package to install some classes to better handle some of these details (all that's difficult with only XML deploy files).

I hope to be clear ... if not, I'll try to better explain later (if someone is interested in this discussion). Excuse me for my long writing, but to have a solid OS I think that this is one of the things to consider well, from the beginning.


JNLP is more than just web start

This all sounds good, especially if the Install/ServiceManager constitute a JNLP implementation. As no doubt you are aware, Web Start does not represent the full potential of what can be done with JNLP. It would be really good if we could showcase the full potential of JNLP. Ofcourse, we may need to make some additions to jnlp xml, for instance, finer-grain security xml elements.

> Valentin Chiara also tell me that we could also extend this Service
> including in the package to install some classes to better handle some
> of these details (all that's difficult with only XML deploy files).

BTW: JNLP has a mechanism for this, the <installer-desc> element.