I allways prefere software without setup: A zip- or - since allmost using linux - bz2 - Archive, which I unzip, and where I find a README-file, where I find a description, on what the software depends.
And the software should depend on nearly nothing.
Using the windows-registry leads to a broken registry sooner or later - my experience - and frustration.
A lot of settings may be stored in a file, and the file in an application-directory, which is the only thing, that's perhaps needed to know before.
The jdk itself is shipped that way - setting JAVA_HOME and adding JAVA_HOME/bin to the path is all which is needed.
However, java-webstart is told to be invented for setup-reasons, but I read that it's buggy in some circumstances (lost more info in my mind) and depends on an internet-connection. You may not move your application after installation (reorganisation of hard-drives), nor copy it to a floppy/ usbstick or burn to cd for people without internet-connection.
Install-Anywhere and install-shield are setup-programs, which might serve you.