Как отмечали выше комментаторы, многие программы Windows не только не имеют установщика, но и некоторые программы OS X.
Несколько мыслей приходят на ум:
Частью работы установщика является сжатие полезной нагрузки. Вы фактически делаете этот шаг вручную на OS X, когда монтируете DMG. Без этого средства что-то должно запускаться, чтобы распаковать программное обеспечение.
Когда установщики впервые стали популярными (в основном это началось с InstallShield, поставляемого как часть VS 97, я полагаю), дисковое пространство было не так много. Вы хотели программу, которая позволит вам выбрать, какие функции установить.
Конечно, наиболее цитируемой причиной для установщиков Windows является необходимость настройки реестра. Теперь это можно (и часто так) делать при первом запуске. Классическими примерами, которые устанавливаются перед запуском, являются сопоставление файлов и регистрация общих компонентов.
Совместно используемые компоненты: на современном компьютере намного меньше, чем в прошлом году. (И, честно говоря, в ретроспективе, тоже не стоит хлопот).
Связь файлов: интересная: если вы установите программу просмотра PDF на Windows all, ваши PDF-файлы откроются вместе с ней. На Mac, если вы не начнете связываться с настройками Finder, он будет использовать метаданные Kind/Type внутри каждого файла. Оба поведения имеют своих поклонников / противников - но если вы хотите глобальных изменений, их нужно зарегистрировать где-то в центре.
Но, пожалуй, больше, чем что-либо еще, настоящая причина - культурное отношение к обратной совместимости: Microsoft разработала стратегию, направленную на то, чтобы все работало. Это означает, что новому программному обеспечению нужны смарты, чтобы знать, куда их помещать (c:\winnt
становится c:\windows
и т.д.). Apple больше относится к старому, к новому - это дает им свободу упростить такие вещи, как развертывание.