Предположим, что я хочу распространять приложение Java.
Предположим, я хочу распространять его как один исполняемый файл. Я мог бы легко создать .jar как с приложением, так и со всеми его внешними зависимостями в одном файле (с некоторым взломом Ant).
Теперь предположим, что я хочу распространять его как .exe файл в Windows. Это достаточно легко, учитывая хорошие инструменты там (например, Launch4j и т.п.).
Но предположим теперь, что я также не хочу зависеть от конечного пользователя, имеющего правильную JRE (или любую JRE вообще, если на то пошло). Я хочу распространять JRE с моим приложением, и мое приложение должно работать на этой JRE. Это достаточно просто, чтобы создать исполняемый файл установщика Windows и вставить в него папку со всеми необходимыми файлами JRE. Но затем я распространяю установщик, а не однофайловое приложение.
Есть ли способ вставлять как приложение, так и JRE в файл .exe, выполняющий функцию запуска приложения (а не как установщик)?