I'm supposing I have built a nice desktop application written in Java and I want to distribute it to some friends, colleagues, customers,.. in order to use it on their everyday business. Many of them uses Windows, other OSX and no one of them knows Java or programming, they are simple users of computer, so Outlook, Google Chrome, ad-hoc softwares for business (crm, management, ..). I don't want to annoy them saying 'You have to install Java prior to execute the jar file' because makes my software less nice than it really is, and makes the installation not user-friendly.
Is there a way to deploy a Java application in exe, dmg, pkg,.. formats in order to have an installation wizard with custom options (such as 'Company Name', 'Telephone', 'Where do you want to install?', 'Serial code',...), an easy auto-created icon on the desktop to launch the software, an uninstaller to eventually remove the files, and a prior check of the Java version (if installed check the version and eventually 'Follow this link to update Java', if not 'Please follow this link and download Java')?