Initially, I had included the Java Installer (Wise?) from Sun and it made things messy. I was surprised there was not a silent install method for their JRE.
I decided to copy all the installed files required locally into a JRE subfolder of my application. I did not want to be responsible for upgrading the user's machine without their consent. I also made sure all of the shortcuts were pointing to my copy of the JRE. BTW - For some strange reason, I had to create a CA that just called an empty Java.exe (I used javaw.exe to remain quiet) to boot up my installed JRE after it was installed. Weird...
By installing your own JRE, you are guaranteed not to hamper other applications that rely on the older versions. As we both know, Java is not 100% reverse compatible with earlier versions.
The JRE does not rely on any data in the registry or the System folders. It just uses a bunch of files in sorted folders. Pay attention to the structure of the folders.
I realize this is the hard way of doing it but, after the grunt work, it's the safest and easiest way to distribute the JRE.
Just my opinions.
Best wishes and good luck.