Инсталлятор на NSIS с вариантом установки по FTP
Необходимо сделать инсталлятор на NSIS-е. Два варианта сборки. Инсталлятор должен устанавливать вебовское ПО (систему управления сайтами) либо на удаленный сервер, либо на локалхост. Инсталлятор должен выполнит все необходимые проверки, установить систему и в одном из вариантов сформировать и выложить файл настроек.
Алгоритм работы основного варианта:
1 экран: приветствие
2: лицензионное соглашение - принимаю/не принимаю
3: выбор места установки: на локальный компьютер или на удаленный сервер; если локальный: установить полный комплект (с apache/php/mysql) или только программные файлы системы
3.1: если локальный полный: выбираем каталог для установки, устанавливаем файлы системы, apache, mysql, php, создаем группу программ, по желанию юзера иконки
3.2: если локальный только файлы: проверяем, есть ли апач, mysql, php, выбираем каталог установки, устанавливаем только файлы, создаем группу программ, по желанию юзера иконки
3.3: запрашиваем данные: домен, хост, логин, пароль, корневая папка htdocs, логин для mysql, пароль для mysql, имя базы mysql, хост mysql
3.3.1: проверяем правильность данных ftp (проходит ли авторизация, выкладываем пробный файл и проверяем через http, виден ли, или другой вариант проверки по согласованию с заказчиком)
3.3.2: проверяем корректность данных mysql (выкладываем файл с пробным запросом к базе, по http пытаемся получить результат, или другой вариант проверки по согласованию с заказчиком)
3.3.3: если ошибка - выдаем ее и просим ввести данные еще раз; если ошибки нет - копируем файлы, включая sql-dump, запускаем по http файл распаковки базы, формируем и закачиваем файл с настройками (в файле будет:
4. вне зависимости от варианта установки предлагаем ввести регистрационный номер копии, пароль, а также указать, будет ли он создавать сайт с нуля или установить демо-сайта
5. если демо-сайт: предлагаем выбрать сетку дизайна (список превью с возможностью открыть в попапе полную картинку), после выбора сетки дизайна выбираем расцветку (то же с превью)
6. передаем полученные данные на определенный скрипт GET-ом, получаем результат; если ошибка - пишем небольшой текстик
7. спасибо, чекбокс "открыть ли сайт"
Алгоритм упрощенного варианта, только на локальный компьютер:
1: приветствие
2: лицензионное соглашение
3: выбор варианта установки на локальный компьютер: с apache, mysql,php, зенд или только файлы (в этом варианте добавляется и зенд, потому что это бесплатная демо-версия с закодированными файлами)
Дальше как в остановном варианте, только регистрационный номер не спрашиваем.
Для локальных вариантов нужен стандартный деинсталлятор.