Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.19.30.232] |
|
Сообщ.
#1
,
|
|
|
Первый раз делаю инсталяторы, так что извеняйте за глупые вопросы.
Инсталятор (программа Setup.exe) должен: 1. Иметь возможность установки сторонних драйверов (BDE, HASP и т.д.) 2. Вводить начальные установки (параметры в INI/Registry) 3. Создовать DSN для доступа к БД (использую ODBC). 4. Ну и копировать файлы Скачал Inno setup - очень понравился. Так вот. Пока сделал только скрипты для установки всего в отдельности и формы ввода. Основной вопрос заключается в том, как в завизимости от данных скрипта выполнить ту или иную часть секций Files, Registry и Run. Мне нужно что-то типа выборочной устоновки с возможностью создания собственных форм для кажного компонента в отдельности. Например выбрали что нужно ставить клиента базы данных. Для установки нужно выбрать каталог куда его ставить. Для DSN - Нужно выбрать либо существующий либо вывести форму где надо заполнить параметры для создания. Вроде нужно делать через TASKS/COMPONENTS, но как они работают я так и не понял. |
Сообщ.
#2
,
|
|
|
Сообщ.
#3
,
|
|
|
можешь ещё воспользоваться ScriptMaker - очень удобная штука, делается всё визуально...
|
Сообщ.
#4
,
|
|
|
Спасибо, но все скрипты в отдельности я уже сделал, и даже разобрался как работать с формами.
Вопрос в следующем. Допустим у меня есть форма где пользователь выбирает создать DSN (для этого в реестор записываються несколько ключей(скрипт готов)) либо использовать уже существующий(для этого он выбирает нужный из ComboBox(тоже работает)). В общем нужно что-то типа. [Registry] if(Создать DSN)then begin записать ключи в реестор end При этом при деинсталяции нужно спросить у пользователя удалять или нет используемый DSN. Понятно что это можно все сделать скриптом, но тогда нужно будет самому следить за деинсталяцией. Добавлено Извените.Огромное спасибо. Ответил до прочтения всех ссылок. Параметр Check то что нужно. Странно что его нет в справке по секциям, а только отдельно. Ну да ладно. Пошел дальше работать. Если будут вопросы обращусь еще. Удачи! ----- Я что нибудь такое напишу, Что будет всем приятно-непонятно |
Сообщ.
#5
,
|
|
|
Цитата moteus @ [Registry] if(Создать DSN)then begin записать ключи в реестор end такую проверку всё равно придётся через код делать.... |
Сообщ.
#6
,
|
|
|
Цитата dron-s @ такую проверку всё равно придётся через код делать.... Оно и понятно.И даже уже сделал. Вот остался вопрос. Какова идеология использования Tasks и Components. Я задаю несколько компонентов и далее проверяю IsSelectComponent в методе Skip форм настроек компонент. А вот зачем нужны Tasks не понятно. ----- Я что нибудь такое напишу, Что будет всем приятно-непонятно |
Сообщ.
#7
,
|
|
|
А что такое DSN?
|
Сообщ.
#8
,
|
|
|
Цитата moteus @ IsSelectComponent в методе Skip форм настроек компонент зачем чего то проверять? какие компоненты юзер выбрал, то и установится. Цитата moteus @ [Registry] if(Создать DSN)then begin записать ключи в реестор end ну? У тя дсн к какому компоннету относится? Вот и помечай эту запись в реестре - нужным компоннетом. хинт: из демок этого не видно, но пренадлежность заданному компонентом можно указывать не только файлам но и некоторым другим секциям скрипта. В частности - веткам реестра. то есть что то типа: [Registry] Root: HKCU; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty; Components: ComponentContainsDsn Цитата moteus @ А вот зачем нужны Tasks не понятно. это список чекбоксов, которые показываются в конце инсталяции. Просейший пример: предложение запустить установленную программу. |