Q:

Program win32 installer from scratch

I want to recreate a basic Windows installer, like the ones nullsoft or innosetup produce, but in Java. 
Unfortunatly, I'm a bit lost for some points. 
First of all I'd have to copy the software data to Program Files, this point seems clear to me.  But I suppose that I would also have to send some information to the OS, for instance to have my program's uninstaller listed in the Programs and Features part of the Control Panel. 
And I also need to create some icons on the desktop and put an entry on start menu. 
There are probably a ton of other things I forgot, so what are they, and what is the best way to do these in java ? 

A:

Take a look at IzPack, I think is what you are looking for ...
If you don't like it as it is, you can take a look at the source code at the official git repo.