Не знаю, как у вас, а у меня есть один пунктик - весь код должен быть аккуратненько разложен по маленьким файликам. Ну, или не очень аккуратненько... Но в любом случае, файлы размером более ста строк для меня уже становятся сложночитаемыми, и я предпочитаю их разбивать на два и более.
Но встает вопрос - эти два файла надо как-то, скажем так, совместить. Думаю, эта проблема возникала не только у меня, а учитывая повышенный интерес к многофайловым установщикам, я таки решился адаптировать свою достаточно старую разработку и вывести ее в свет.
Короче говоря, встречайте Unified Multi-File Application Loader, сокращенно UMFAL
UPD: вышла версия 2.0! Помимо добавления небольшого количества фич, появилась подробная документация на двух языках, а также примеры кода.
Подробное описание возможностей библиотеки, а также подробно задокументированные примеры - на Github:
Репозиторий проекта
Команда для загрузки (wget)
wget -f https://github.com/AtomicScience/UMFAL/releases/latest/download/umfal.lua /lib/umfal.lua