Доброго времени суток!
Делаю инсталятор программы для проги на делфи.
Вопрос 1:
Как можно сделать в инсталяторе, чтобы был запрос для настроек программы, в частности IP-адрес сервера. У меня есть файл конфигурации ini, хотелось бы чтобы можно было вносить в него изменения при установке.
Что типа:
"Введите IP-Адрес сервера"
"Введите путь к базе данных"
Или в после установки запрос на настройку.
файл конфигурации
[spoiler]Код:
[/spoiler]
Код: Выделить всё
[FBBASE]
IP = 192.168.1.2
DBPath =В:\TestInform\BAza.FDB
SkinName = Office2007 Blue
Check =0
[DEBUG]
LOGS=0
[PARAM]
Заранее спасибо! :oszone: :)
TIMER=120
Вопрос 2:
Для работы проги нужен FireBird. Нашел как добавить пункт для установки и установку FireBird.
Но мне нужен универсальный установщик, в котором будет выбор клиентская прога или серверная (типа как в самом FireBirdе)
Пример выбора вида установки
[spoiler]

[/spoiler]
Вопрос 3:
Как можно сделать триальную версию или чтобы она сама себя удалила через год или удалила файл конфигурации, без которого она работать не будет
Сценарий Inno Setup
[spoiler]Код:
[/spoiler]
Код: Выделить всё
; Этот сценарий создан с помощью Мастера Inno Setup.
; ОБРАТИТЕСЬ К СПРАВОЧНОЙ ДОКУМЕНТАЦИИ, ЧТОБЫ ИСПОЛЬЗОВАТЬ ВСЕ ВОЗМОЖНОСТИ INNO SETUP!
;------------------------------------------------------------------------------
; Определяем некоторые константы
;------------------------------------------------------------------------------
#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.wylek.ru/"
#define MyAppExeName "TestInform.exe"
;------------------------------------------------------------------------------
; Параметры установки
;------------------------------------------------------------------------------
[Setup]
; Примечание: Значение AppId является уникальным идентификатором для этого приложения.
; Не используйте одно и тоже значение AppId для разных приложений.
; (Для создания нового значения GUID, выберите в меню "Инструменты" пункт "Создать GUID".)
; Уникальный идентификатор приложения,
;сгенерированный через Tools -> Generate GUID
AppId={{72974877-BA35-4042-A0BC-52C403F1E184}
; Прочая информация, отображаемая при установке
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
; Путь установки по-умолчанию
DefaultDirName={pf}\{#MyAppName}
; Имя группы в меню "Пуск"
DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes
LicenseFile=T:\TestInform\Install\License_RUS.txt
InfoBeforeFile=C:\Program Files (x86)\Inno Setup 5\Examples\Readme.txt
; Каталог, куда будет записан собранный setup и имя исполняемого файла
OutputDir=T:\TestInform\Install
OutputBaseFilename=setup
; Файл иконки
SetupIconFile=T:\TestInform\Install\TestInform_Icon.ico
; Параметры сжатия
Compression=lzma
SolidCompression=yes
;------------------------------------------------------------------------------
; Устанавливаем языки для процесса установки
;------------------------------------------------------------------------------
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"; LicenseFile: "License_ENG.txt"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"; LicenseFile: "License_RUS.txt"
;------------------------------------------------------------------------------
; Опционально - некоторые задачи, которые надо выполнить при установке
;------------------------------------------------------------------------------
[Tasks]
Name: fbrinst; Description: "Install Firebird"
; Создание иконки на рабочем столе
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
;------------------------------------------------------------------------------
; Файлы, которые надо включить в пакет установщика
;------------------------------------------------------------------------------
[Files]
; Add the ISSkin DLL used for skinning Inno Setup installations.
Source: ISSkin.dll; DestDir: {app}; Flags: dontcopy
; Add the Visual Style resource contains resources used for skinning,
; you can also use Microsoft Visual Styles (*.msstyles) resources.
Source: Office2007.cjstyles; DestDir: {tmp}; Flags: dontcopy
Source: "T:\TestInform\Install\TestInform.exe"; DestDir: "{app}"; Flags: ignoreversion
; Примечание: Не используйте' флаги "ignoreversion" для общих системных файлов.
Source: "T:\TestInform\Install\TestInform.ini"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "T:\TestInform\Install\Skins\*"; DestDir: "{app}\Skins"; Flags: ignoreversion recursesubdirs createallsubdirs
;--- 1 ---
;Source: Files\*.bmp; DestDir: {app}
Source: T:\TestInform\Install\FBirdSetup.exe; DestDir: {tmp}; Tasks: fbrinst; Flags: deleteafterinstall
;------------------------------------------------------------------------------
; Указываем установщику, где он должен взять иконки
;------------------------------------------------------------------------------
Code]
procedure SetupFBird();
var
ResultCode: Integer;
begin
Exec(ExpandConstant('{tmp}\FBirdSetup.exe'), '', '', SW_SHOWNORMAL,
ewWaitUntilTerminated, ResultCode);
end;
Сode]
// Importing LoadSkin API from ISSkin.DLL
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';
// Importing UnloadSkin API from ISSkin.DLL
procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';
// Importing ShowWindow Windows API from User32.DLL
function ShowWindow(hWnd: Integer; uType: Integer): Integer;
external 'ShowWindow@user32.dll stdcall';
function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('Office2007.cjstyles');
LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), '');
Result := True;
end;
procedure DeinitializeSetup();
begin
// Hide Window before unloading skin so user does not get
// a glimpse of an unskinned window before it is closed.
ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
UnloadSkin();
end;
[Icons]
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
[Run]
;--- 1 ---
Filename: {tmp}\FBirdSetup.exe; Description: "Launch Firebird Setup"; Tasks: fbrinst
Заранее спасибо!
Вдруг кому поможет, ответ на 2й вопрос
Выбор компонентов (спасибо справке

)
[spoiler]Код:
[/spoiler]
Код: Выделить всё
[Components]
Name: "main"; Description: "Main Files"; Types: full compact custom; Flags: fixed
Name: "help"; Description: "Help Files"; Types: full
Name: "help\english"; Description: "English"; Types: full
Name: "help\dutch"; Description: "Dutch"; Types: full
А чтобы сделать разные установки FireBird сделал так:
1. Создал 2 файла
FBirdSetup_server.cmd
Код:
Код: Выделить всё
FBirdSetup.exe /SILENT /NOICONS /COMPONENTS="ServerComponent\ClassicServerComponent" /TASKS="CopyFbClientToSysTask" /TASKS="CopyFbClientAsGds32Task"
FBirdSetup_client.cmd
Код:
Код: Выделить всё
FBirdSetup.exe /SILENT /NOICONS /COMPONENTS="ClientComponent" /TASKS="CopyFbClientToSysTask" /TASKS="CopyFbClientAsGds32Task"
2. Запуск при установке опционально, осталось только в выбор компонентов впихнуть
Скрытый текст
[spoiler]Код:
[/spoiler]
Код: Выделить всё
[Tasks]
Name: fbrinstclient; Description: "Install Firebird Client" ; GroupDescription: "Установка Firebird:";
Name: fbrinstserver; Description: "Install Firebird Server" ; GroupDescription: "Установка Firebird:"; Flags: unchecked
[Files]
Source: T:\TestInform\Install\FBirdSetup.exe; DestDir: {tmp}; Flags: deleteafterinstall
Source: T:\TestInform\Install\FBirdSetup_client.cmd; DestDir: {tmp}; Tasks: fbrinstclient; Flags: deleteafterinstall
Source: T:\TestInform\Install\FBirdSetup_server.cmd; DestDir: {tmp}; Tasks: fbrinstserver; Flags: deleteafterinstall
[Run]
Filename: {tmp}\FBirdSetup_client.cmd; Description: "Launch Firebird Setup"; Tasks: fbrinstclient
Filename: {tmp}\FBirdSetup_server.cmd; Description: "Launch Firebird Setup"; Tasks: fbrinstserver