2012-04-26 13 views
0

Я пытаюсь выпустить программу с использованием подхода клиент/база данных.Модульная установка Inno Setup

Клиент и база данных могут быть установлены на 2 разных компьютерах.

Что я пытаюсь сделать, это установщик, который вначале спрашивает, хотите ли вы установить клиент, базу данных или и то, и другое.

Возможно ли это? Какую часть я должен изменить?

Я предупреждаю вас, я никогда не писал сценарий установки Inno, я всегда ISTools, но если нет другого пути, я готов пачкать руки: P

Edit: немного больше информации. На данный момент у меня 3 установщика, один для клиента, один для DB (который является postgreSQL) и один для PDFCreator. Что я делаю, это скопировать файлы в каталог, а затем спросить у пользователя, что он хочет установить: [Run], Post Installation.

ответ

0

Да, это возможно. Взгляните на пример CodeDlg.iss. В нем показано, как создать диалог, чтобы спросить, какую версию установить. В случае CodeDlg это различные выпуски программы (светлые, спонсируемые, платные), но концепция такая же. Я сделал это и раньше. В моем случае во время инициализации я прочитал параметр реестра и установил некоторые переменные, чтобы выбрать, какую версию (клиент или сервер) я устанавливаю. У меня его нет, но я получу его позже и добавлю к этому ответу.

+0

Я посмотрел, и это действительно то, чего я хочу достичь. Просто вопрос: каков порядок выполнения функций? IE: где я могу назвать начальную функцию? Это стандартная именованная функция, которая всегда называется в начале? – Daniele

+0

В файле справки в разделе «Pascal Scripting: Event Functions» есть список всех функций события и для чего они предназначены. Например, функция InitializeSetup описывается как «Вызывается во время инициализации программы установки. Верните False, чтобы прервать установку, в противном случае True». Например, я использую эту функцию для определения в обновлении, была ли установлена ​​исходная программа, а если нет, отобразите сообщение и выйдите из него. – mirtheil

Смежные вопросы