Velikom
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Вопрос знатокам. Скажите, уважаемые, можно ли с помощью «Inno Setup» создать инсталлятор, который: - Первым делом определяет язык системы. Если в качестве языка по умолчанию установлен русский, то выбирается русский язык установки, иначе - английский. При этом пользователю запрос на выбор языка установки не выдаётся.
- Перед началом установки проверяет наличие в реестре определённого ключа («Ключ №1») и в случае его отсутствия задаёт вопрос о продолжении/об отмене установки.
- На третьем этапе проверяет, не запущена ли определённая программа и в случае, если таковая запущена, снова задаёт вопрос о продолжении / об отмене установки (или, если это возможно, третьим пунктом предлагает закрыть эту программу).
- В случае продолжения установки, при наличии в реестре ключей «Ключ №1», «Ключ №2» и «Ключ №3», а также при выполнении условий двух последующих пунктов сообщает о том, что все конечные директории установки корректно определены (с возможной корректировкой путей вручную; первых четырёх - в любом случае, пятого - только если его не удаётся обнаружить по фиксированному расположению) и предлагает продолжить установку (либо отказаться от неё - стандартным путём - нажатием на кнопку «Отмена»/«Выход»).
- Четвёртый и пятый каталоги определяются следующим образом (первые три заимствовались из соответствующих ключей). Относительно «Директории №1» мы поднимаемся на один уровень вверх и находим «Директорию №4» там. Иными словами первый и четвёртый каталоги должны находиться в одной папке. Например, имеем (из «Ключа №1» или из указанных пользователем данных) следующий путь для первого каталога: «X:\Каталог_1\Каталог_2\Директория №1». В этом случае четвёртый каталог должен иметь такой адрес: «X:\Каталог_1\Каталог_2\Директория №4». Пятый каталог имеет фиксированное расположение и находится здесь «<Program Files>\Каталог_3\Директория_5».
- После этого каждая директория проверяется на предмет её существования. Если какая-либо из них отсутствует, её создание инсталлятором не допускается.
- В случае, если узнать расположение необходимых папок в автоматическом режиме не удаётся (либо они не существуют), пользователю перед продолжением установки предлагается указать местонахождение тех из них, которые не удалось найти инсталлятору самостоятельно.
- В процессе установки дифференцировано распределяет файлы по указанным директориям, а после её окончания запускает по одному файлу из каждой папки, причём открывая файлы по-очереди: каждый последующий запускается после закрытия и удаления предыдущего. После закрытия и удаления последнего файла пользователю выдаётся сообщение о том, что установка успешно завершена.
Если описанное выше возможно воплотить в жизнь, или нечто подобное (в виде скрипта) уже где-то существует, не подскажете ли Вы, как это можно сделать, или не поделитесь ли ссылкой на уже готовый скрипт?
---------- Жизнь - это не те дни, что прошли, а те, что запомнились… |
| Всего записей: 1672 | Зарегистр. 21-12-2005 | Отправлено: 16:04 08-12-2007 | Исправлено: Velikom, 18:34 08-12-2007 |
|