On virtually every operating system, there are specific rules how an installer
have to behave to be a good citizen. On Windows for example, installers shall be
made up from .msi script packages executed by the "Windows Installer Service".
The benefit is that such .msi script packages can not only get executed by a
local administrator by a double click, but also the enterprise administrator can
uns remote deployment functionality built into active directory administration
tools. That tools allow the administrator to deploy to a lot of machines by a
single, central mouse click.
Another item is that on Windows, programs have to be located in
%ProgramFiles%\Vendor\Application, because administrator do not like the idea of
having a directory like "Sun\SDK" to be found directly on C:\. You could say
that the admins can change the location in the installer. Well, when using a
remote tool (see above) to deploy to several hosts at one mouse click, you do
not know the actual target on each host – but you can be sure that
%ProgramFiles% will be correct ever.
So, there are a lot of rules to be found like this, not only on Windows.
Certainly there similar on the Mac or Linux.
Since people (especially admins) want that programs take good care of that rules
("beeing good citizen") and since obviously the current installer doesn't care
for any of those rules, I want to suggest that in a future release GlassFish /
SDK is improved in this direction.