В никсах распространение нормального софта делается через пакетные менеждеры. Читайте про сборку пакета для пакетного менеждера, используемого в конкретной ОС, и будет вам счастье (по идее, вам это должно быть достаточно, раз вам просто файлы поставить). Например,
dpkg в случае Ubuntu.
В виндах софт устанавливается и инвентаризуется с помощью системного компонента Windows Installer. Это тоже как бы пакетный менеджер, но в отличие от никсовых системных PM, он не умеет работать с репозиториями и выкачивать пакеты - в нём этого просто не реализовано, т.к. он изначально проектировался для "коммерческого" "коробочного" ПО (под виндой исторически не было духа свободного ПО, как в линухах). Но с точки зрения установки софта он делает примерно то же самое, только с учётом виндовых заморочек - работа с реестром, права на файлы и т.д. Пакеты для Windows Installer - это MSI-файлы. Технически это простейшая readonly реляционная БД, вроде sqlite, только проще, по сути это хранилище таблиц. Существуют различные наборы инструментов для сборки таких пакетов, как коммерческие так и бесплатные. Если нужен бесплатный - берите
WiX, если возможен платный - поглядите на
InnoSetup InstallShield.