Стандартный универсальный установщик в системах * nix (и не только) - это Autotools .
# the user will install like so:
./configure --with-stuff
make # if package is from source
make install
Вы также можете предоставить установщики для конкретных дистрибутивов, такие как RPM в RedHat или CentOS или deb для Debian, Ubuntu, хотя после того, как Autotools добавит Makefile, они станут ветер.
# the user will install like so:
yum install your-package-1.0.rpm # on redhat or
apt-get install your-package-1.0.deb # on debian
Автоинструменты, также известные как «система сборки GNU», на первый взгляд немного пугают, и новый пользователь озадачен, встречая такие вещи, как древняя макросистема m4 и т. Д. но nota bene большинство людей делают это так, и это довольно просто, если вы освоите его.
Я начал писать unistall для ситуаций, когда вам приходилось устанавливать двоичные пакеты на различных дистрибутивах.
Он пытается сделать несколько вещей:
apt-get install libncurses5-dev
при использовании debian / ubuntu, yum install libncurses-devel
при использовании RHEL / Fedora / CentOS Я оставляю репозиторий включенным, потому что он заполнен полезных битов, однако я быстро отказался от идеи программы типа install sheild
для дистрибутивов Linux. Вы обнаружите, что гораздо лучше создавать устанавливаемые пакеты для форматов .deb, .rpm и (возможно) slackware .tgz.
Это можно интегрировать в вашу систему сборки с помощью такого инструмента, как checkinstall . Обратите внимание: пакеты, которые генерирует checkinstall, не всегда идеальны в соответствии со строгими правилами lint, установленными Debian и другими, однако пакеты работают нормально.
Лучший способ установки, который вы можете предоставить пользователю, - это позволить ему установить (и обновить) ваше программное обеспечение с помощью своего собственного диспетчера пакетов.
Если возможно, выберите вариант, не требующий установки, а используйте простой подход извлечения и запуска. Это позволит пользователю разместить файл (ы) в любом месте и запустить его.
Но у вас есть и другие варианты, например:
Напишите действительно надежный make-файл! или используйте CMake
Взгляните на InstallJammer . Вы можете написать один проект как для Windows, так и для установщика Linux, и очень скоро появится поддержка Mac.