Форум: "Основная";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];
ВнизСоздание самораспаковывающегося файла Найти похожие ветки
← →
Санек © (2005-08-08 10:35) [0]Добрый день!
Возникла необходимость написать свой инсталлятор, все готовые варианты не подходят, ввиду того что инсталлятор устанавливает не программу в систему, а компоненты в уже установленную программу. Этих компонентов очень много, хоть они и будут разбиты по группам, все рано требуется создавать много инсталляций, и для удобства пользователя хотелось чтобы это было выполнено всё в удобном инсталляторе находящимся в одном файле.
Проблема в том, чтобы автоматизировать создание инсталяций, т.е. хотелось бы создавать *.exe файл автоматически (как это делают обычные инсталляторы или winrar например). В сети очень мало информации по этому вопросу, а если есть то на низком системном уровне, в чем я не очень силен. Изучение исходников InnoSetup никчему не привело уж очень много там всего лишненего.
Огромная просьба, может кто-то сталкивался с такой проблемой или знает где почитать, или есть чего в сорцах, черкните пожалуйста.
Заранее спасибо.
← →
Anatoly Podgoretsky © (2005-08-08 10:43) [1]Microsoft Installer
← →
dmitry501 © (2005-08-08 10:44) [2]Санек © (08.08.05 10:35)
Компилируешь все свои компоненты в ресурсы (.res), потом пишешь небольльшой GUI инсталлятор. Собираешь это все в один .exe файл.
Или как более универсальный вариант. Все свои компоненты с сохранением структуры папок жмешь в zip, и пишешь GUI, который просто распаковывает этот zip. Если хочешь один файл, а не два, то zip файл компилируешь в ресурсы.
← →
Санек © (2005-08-08 11:08) [3]Эт я понял, а можно ли как-то автоматически слепить в экзешник мой GUI и zip??? Скажем GUI инсталлятора не будет меняться, а данные zip будут сожержать и инструкции по инсталяции. Просто этих файлов инсталяции будет очень много и хотелось бы чтобы их могли делать человеки, которые и не подозревают, что есть такой замечательный продукт, как Delphi.
Насчет "Microsoft Installer", мне я понимая, это классная вещь, но всё что она позволяет, мне совершенно не нужно, не хоелось бы её использовать только для того, чтобы получать экзешник.
← →
dmitry501 © (2005-08-08 11:58) [4]А зачем один файл? Пусть будет два. Один постоянный, другой с апдейтами делают пользователи. Можно для этого сделать отдельную программу. Уже целый комплекс получается :)
Что значит "инструкции по инсталляции"? Нужно только копировать новые файлы, или еще что-то в реестр писать? В принципе, если все сложно, то не нужно изобретать велосипед с квадратными колесами, а использовать нормальный инсталлер с развитым скриптовым языком, например [1].
← →
Санек © (2005-08-08 12:04) [5]Нет, наоброт ничего не нужно делать в системе... Нужно подключаться к БД и там выполнять кучу скриптов. Процесс апдейта сложный, поэтому хотелось писать его не на скриптах, а на Delphi.
← →
dmitry501 © (2005-08-08 12:11) [6]Кхм... А БД какая? Во многих есть встроенные средства, которые делают эту задачу- ведь это миграция данных?
И это несколько не согласуется с [0]
← →
Санек © (2005-08-08 12:27) [7]БД, может быть любая. История такая... В программе есть модуль, который умеет загружать/сохранять в БД объекты программы, модуль использует интерфейсы различных СУБД. Инсталляция компонентов (набор объектов) хотелось бы реализовать через этот модуль. GUI исталлятора будет взаимодействовать с этим модулем на уровне объектов программы + свои функции (выбор устанавливаемых компонентов, выбор баз данных). Инсталляция самой программы уже давно написана на InnoSetup, с вызовом фунций для создания серверных объектов. Как бы реализовать установку компонентов, вот вопрос??? В принципе если GUI и данные установки разные файлы, всё понятно. Если создание экзешника сложная вешь, то так и сделаю. Но всё же хотелось сделать "красиво".
← →
dmitry501 © (2005-08-08 12:39) [8]Так я и не понял вопрос. Если нужно просто объеденить GUI и ресурсы - http://delphiworld.narod.ru/base/save_and_load_resources.html
Интересно, что же такое "объекты программы" физически?
← →
Санек © (2005-08-08 12:46) [9]Это классы, сожержащие методы работы с данными и сами данные, данные храняться в БД. Чтение и запись данных объекта осуществляется через модуль, который поддерживает интерфейсы нескольких БД.
← →
dmitry501 © (2005-08-08 12:50) [10]Классы в виде исходного кода? А язык - интерпретатор? Или в виде файлов - .dll .bpl и пр.?
← →
Санек © (2005-08-08 12:50) [11]В принципе можно делать так:
1. Создать GUI, скомпилировать в DCU
2. Создать ресурс, самой инсталляции
3. Компилить всё это с помощью DCC32.EXE
← →
Санек © (2005-08-08 12:52) [12]виде файлов - .dll .bpl + данные в БД
← →
dmitry501 © (2005-08-08 12:54) [13]Санек © (08.08.05 12:50) [11]
Ну дык, ты бы с самого начала простым языком написал, что нужно :)
<OFFTOP>Ладно, извини, рабочий день кончился, домой тороплюсь....</OFFTOP>
← →
Slym © (2005-08-08 13:56) [14]На основе обновление DrWeb
1. GUI приложение анализирует файл (Updates.txt)
Updates.txt - формата
+filename - добавить файл
-filename - удалить файл
!filename - выполнить файл
2. файл (например ZIP) с обновлениями и Файлом Updates.txt.
Как работает:
1. Прога распаковывает архив
2. Читается Updates.txt
3. Выполняются бействия из Updates.txt
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.049 c