b) doesn't Webstart cache things? As in there is no definite application install directory?
Yes, sure, WebStart caches things. That's it's main task. From my point of view I'm not interested in WHERE things are installed. We maintain a 10MB jar application with this easily.
Additionally, WebStarted apps can very well install custom data to custom directories.
For resources - I put them into jars and add a simple class to it that provides me with the resp. URL to the data. That very convenient and makes completely independent of the place things are stored. No directories in my code!
Here is the link I promised: http://rachel.sourceforge.net/