Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)

Модерирует : gyra, Maz

Widok (25-09-2007 17:33): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 

Это мощное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно легко самим создавать диалоги, используя спец. дизайнер. И всё это абсолютно бесплатно! По сравнению с NullSoft (основной конкурент на бесплатной ниве) мне albel понравилась более интуитивно-понятная структура скрипта, простота в настройке.  
 
Последний релиз: 5.2.0 [19 сентября 2007 года]
История версий | скачать || скачать Preprocessor
 
Русификатор от NightW0lf для версии 5.2.0
Скачать | зеркало
 
Английская справка для Inno Setup Preprocessor (ISPP) 5.0.xx
Скачать
 
Русская справка к версиям 5.0.xx
Скачать | зеркало || cкачать в .chm формате
И снова BagIra на высоте
 
Руководство по расширенным возможностям Inno Setup 5 (не для чайников) от Kindly
[3 версия]  
Скачать | зеркало
[4 версия]  
Скачать | зеркало
[5 версия]  
Скачать | зеркало
[5.1 версия]  
Скачать | зеркало
 
Inno Setup Extensions Knowledge Base  
Скачать | зеркало
 
Corona Skin & Check System Requirements от Victor_Dobrov
Скачать | Скриншот | Справка
Кроме визуального стиля Corona(WMP9) в инсталлятор по выбору пользователя добавляется: Проверка системы/минимальных требований. Шифрование. Деинсталляция неучтённых файлов. Подсчёт времени установки. Расширенный прогрессбар. Экран скриншота/справки. Screensaver, BMP или AVI-файл в фоновом окне. Проигрывание музыки в фоне и многое другое...
 
Примечание: начиная с версии 5.1.10 в Inno Setup при использовании в инсталляторе фонового изображения формата BMP стало глючить возможность растягивания картинки на весь экран - чтобы это исправить добавьте этот код.
Если вы захотите использовать метод проверки внешнего файла через сумму MD5 (который описан в 5 версии руководства по программированию в Inno Setup) для запуска инсталлятора то вам понадобится калькулятор хеша MD5, калькулятор сумм MD5, SHA-256, CRC32. Если вы хотите узнать какие ключи в реестр вносит та или иная программа (или игра) то Вам понадобится RegShot.



Дополнительные утилиты для Inno Setup



 
Последний релиз: 5.2.0 [21 сентября 2007 года]
Скачать | зеркало  
(как сказано в описании изменений, добавлена поддержка новых директив 5.2.0)
 
Русификатор
Скачать | зеркало


 
Распаковщик установок, сделанных с помощью Inno Setup. При распаковке извлекаются  ресурсы и скрипт установки (немного усечённый). Возможно подключение к TotalCommander или FAR с помощью MultiArc плагинов.
 
Поддерживает распаковку инсталляторов, сделанных с помощью Inno Setup начиная с версии 3.0.0-beta по 5.1.14
 
Последний релиз: 0.20 - Тестовая версия [27 августа 2007 года] New
Скачать | зеркало | зеркало


 
Удобная оболочка для облегчения написания скриптов установки для Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
 
Последний релиз: 5.1.6.9 [09 июля 2006 года]
Скачать 4.2 мб | обновление 3.1 мб
 
Русификатор отGloThin
Скачать с сайта GloThin | Зеркало | Зеркало | зеркало
Пароль: ruboard
Примечание: офф. сайт косо отображается в Oper`е.
 
Новое название проекта на сайте, похоже произошла замена ScriptMaker на:
 
Inno Script Generator

Последний релиз: 1.0.2.11 [7 Августа 2007 года]
Скачать | обновление | Изменения
Примечание: обновление ставится только на Inno Setup Quickstartpack 5.1.13.
 
Примечание для всех участников
 
Длинные куски кода помещайте под тегом [more], дабы дать возможность знатокам Inno Setup прочитать сам вопрос, а не пролистывать бесконечно длинные листинги скриптов в посте.

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 18:01 23-04-2007 | Исправлено: Nekt, 00:33 25-09-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
marat shakirov
WizardForm.ComponentsList.ItemSubItem[Index: Integer]
 
Пример:

Код:
 
procedure CurPageChanged(CurPageID: Integer);
var
  str: string;
  i: integer;
begin
  if CurPageID = wpSelectComponents then
    begin
      for i:= 0 to WizardForm.ComponentsList.Items.Count - 1 do
        begin
          str:= str + WizardForm.ComponentsList.ItemCaption[i] +
          ' - size: ' + WizardForm.ComponentsList.ItemSubItem[i] + #10#13;
        end;
      MsgBox(str, mbInformation, MB_OK);
    end;
end;  

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 18:15 17-05-2007
drakula 666

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
народ помогите новичку в inno setup
вот скрипт
 
 
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
 
[Setup]
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
AppPublisherURL=http://www.example.com/
AppSupportURL=http://www.example.com/
AppUpdatesURL=http://www.example.com/
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
WindowVisible=yes
WindowResizable=no
WindowShowCaption=no
[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
 
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
 
[Files]
Source: "E:\Program Files\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
 
[Icons]
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
Name: "{group}\{cm:UninstallProgram,My Program}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\My Program"; Filename: "{app}\MyProg.exe"; Tasks: desktopicon
 
[Run]
Filename: "{app}\MyProg.exe"; Description: "{cm:LaunchProgram,My Program}"; Flags: nowait postinstall skipifsilent
 
[Files]
Source: E:\Program Files\Inno Setup 5\isxbb.dll; DestDir: {tmp}; Flags: dontcopy
Source: E:\Program Files\Inno Setup 5\1.jpg; DestDir: {tmp}; Flags: dontcopy
Source: E:\Program Files\Inno Setup 5\2.jpg; DestDir: {tmp}; Flags: dontcopy
Source: E:\Program Files\Inno Setup 5\3.jpg; DestDir: {tmp}; Flags: dontcopy
Source: E:\Program Files\Inno Setup 5\4.jpg; DestDir: {tmp}; Flags: dontcopy
Source: "E:\Program Files\Inno Setup 5\BASS.dll"; DestDir: "{tmp}"; Flags: dontcopy
Source: "E:\Program Files\Inno Setup 5\06-static_x_-_the_only-ost-2003-djn.mp3"; DestDir: "{tmp}"; Flags: dontcopy
 
[Code]
const
  BACKGROUND=6;
  TIMER=16;
 BASS_SAMPLE_LOOP        = 4;
 
type
  HSTREAM = DWORD;
function isxbb_AddImage(Image: PChar; Flags: Cardinal): Integer;
external 'isxbb_AddImage@files:isxbb.dll stdcall';
 
function isxbb_Init(hWnd: Integer): Integer;
external 'isxbb_Init@files:isxbb.dll stdcall';
 
function isxbb_StartTimer(Seconds: Integer; Flags: Cardinal): Integer;
external 'isxbb_StartTimer@files:isxbb.dll stdcall';
 
function isxbb_KillTimer(Flags: Cardinal): Integer;
external 'isxbb_KillTimer@files:isxbb.dll stdcall';
function BASS_Init(device: Integer; freq, flags: DWORD; win: hwnd; CLSID: Integer): Boolean;
external 'BASS_Init@files:BASS.dll stdcall delayload';
 
function BASS_StreamCreateFile(mem: BOOL; f: PChar; offset: DWORD; length: DWORD; flags: DWORD): HSTREAM;
external 'BASS_StreamCreateFile@files:BASS.dll stdcall delayload';
 
function BASS_Start(): Boolean;
external 'BASS_Start@files:BASS.dll stdcall delayload';
 
function BASS_ChannelPlay(handle: DWORD; restart: BOOL): Boolean;
external 'BASS_ChannelPlay@files:BASS.dll stdcall delayload';
 
function  BASS_Stop(): Boolean;
external 'BASS_Stop@files:BASS.dll stdcall delayload';
 
function  BASS_Free(): Boolean;
external 'BASS_Free@files:BASS.dll stdcall delayload';
 
procedure InitializeWizard();
var
  Name1: string;
     i: Integer;
begin
   WizardForm.CancelButton.BringToFront;
begin
    ExtractTemporaryFile('1.jpg');
    isxbb_AddImage(ExpandConstant('{tmp}')+'\1.jpg',BACKGROUND);
    isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
end;
end;
procedure DeInitializeSetup();
begin
BASS_Stop();
BASS_Free();
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
 if CurStep=ssInstall
then
begin
ExtractTemporaryFile('2.jpg');
ExtractTemporaryFile('3.jpg');
ExtractTemporaryFile('4.jpg');
isxbb_AddImage(ExpandConstant('{tmp}')+'\2.jpg',BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant('{tmp}')+'\3.jpg',BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant('{tmp}')+'\4.jpg',BACKGROUND or TIMER);
isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
isxbb_StartTimer(3,BACKGROUND)
  end
  else if CurStep=ssPostInstall then
    isxbb_KillTimer(BACKGROUND);
end;
 
begin
   ExtractTemporaryFile('BASS.dll');
     ExtractTemporaryFile('01-OVERSEER-Doomsday.mp3');
  if BASS_Init(-1, 44100, 0, 0, 0) then
begin
  BASS_Start();
   Name1:=ExpandConstant('{tmp}\01-OVERSEER-Doomsday.mp3');
    i:=BASS_StreamCreateFile(FALSE, PChar(Name1), 0, 0, 4);
  if i <> 0 then
      begin
  BASS_ChannelPlay(i, True);
end;
end;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
 if CurPageID=wpInstalling
then
begin
  WizardForm.MainPanel.Visible:=False;
  WizardForm.Bevel1.Visible:=False;
  WizardForm.Width:=ScaleX(395);
  WizardForm.Height:=ScaleY(142);
  WizardForm.Left:=ScaleX(MainForm.Width-420);
  WizardForm.Top:=ScaleY(MainForm.Height-170);
  WizardForm.InnerNotebook.Left:=ScaleX(10);
  WizardForm.InnerNotebook.Top:=ScaleY(10);
  WizardForm.InnerNotebook.Width:=ScaleX(370);
  WizardForm.StatusLabel.Left:=ScaleX(0);
  WizardForm.StatusLabel.Top:=ScaleY(0);
  WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
  WizardForm.FileNameLabel.Left:=ScaleX(0);
  WizardForm.FileNameLabel.Top:=ScaleY(20);
  WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width;
  WizardForm.ProgressGauge.Top:=ScaleY(40);
  WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
  WizardForm.CancelButton.Left:=ScaleX(154);
  WizardForm.CancelButton.Top:=ScaleY(80);
 end
if CurPageID=wpFinished
 then
  begin
  WizardForm.Width:=502;
  WizardForm.Height:=392;
  WizardForm.Position:=poScreenCenter;
end;
end;
 end;
end;
 
 
Добавлено:
народ помогите новичкув inno setup
 
 
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
 
[Setup]
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
AppPublisherURL=http://www.example.com/
AppSupportURL=http://www.example.com/
AppUpdatesURL=http://www.example.com/
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
WindowVisible=yes
WindowResizable=no
WindowShowCaption=no
[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
 
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
 
[Files]
Source: "E:\Program Files\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
 
[Icons]
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
Name: "{group}\{cm:UninstallProgram,My Program}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\My Program"; Filename: "{app}\MyProg.exe"; Tasks: desktopicon
 
[Run]
Filename: "{app}\MyProg.exe"; Description: "{cm:LaunchProgram,My Program}"; Flags: nowait postinstall skipifsilent
 
[Files]
Source: E:\Program Files\Inno Setup 5\isxbb.dll; DestDir: {tmp}; Flags: dontcopy
Source: E:\Program Files\Inno Setup 5\1.jpg; DestDir: {tmp}; Flags: dontcopy
Source: E:\Program Files\Inno Setup 5\2.jpg; DestDir: {tmp}; Flags: dontcopy
Source: E:\Program Files\Inno Setup 5\3.jpg; DestDir: {tmp}; Flags: dontcopy
Source: E:\Program Files\Inno Setup 5\4.jpg; DestDir: {tmp}; Flags: dontcopy
Source: "E:\Program Files\Inno Setup 5\BASS.dll"; DestDir: "{tmp}"; Flags: dontcopy
Source: "E:\Program Files\Inno Setup 5\06-static_x_-_the_only-ost-2003-djn.mp3"; DestDir: "{tmp}"; Flags: dontcopy
 
[Code]
const
  BACKGROUND=6;
  TIMER=16;
 BASS_SAMPLE_LOOP        = 4;
 
type
  HSTREAM = DWORD;
function isxbb_AddImage(Image: PChar; Flags: Cardinal): Integer;
external 'isxbb_AddImage@files:isxbb.dll stdcall';
 
function isxbb_Init(hWnd: Integer): Integer;
external 'isxbb_Init@files:isxbb.dll stdcall';
 
function isxbb_StartTimer(Seconds: Integer; Flags: Cardinal): Integer;
external 'isxbb_StartTimer@files:isxbb.dll stdcall';
 
function isxbb_KillTimer(Flags: Cardinal): Integer;
external 'isxbb_KillTimer@files:isxbb.dll stdcall';
function BASS_Init(device: Integer; freq, flags: DWORD; win: hwnd; CLSID: Integer): Boolean;
external 'BASS_Init@files:BASS.dll stdcall delayload';
 
function BASS_StreamCreateFile(mem: BOOL; f: PChar; offset: DWORD; length: DWORD; flags: DWORD): HSTREAM;
external 'BASS_StreamCreateFile@files:BASS.dll stdcall delayload';
 
function BASS_Start(): Boolean;
external 'BASS_Start@files:BASS.dll stdcall delayload';
 
function BASS_ChannelPlay(handle: DWORD; restart: BOOL): Boolean;
external 'BASS_ChannelPlay@files:BASS.dll stdcall delayload';
 
function  BASS_Stop(): Boolean;
external 'BASS_Stop@files:BASS.dll stdcall delayload';
 
function  BASS_Free(): Boolean;
external 'BASS_Free@files:BASS.dll stdcall delayload';
 
procedure InitializeWizard();
var
  Name1: string;
     i: Integer;
begin
   WizardForm.CancelButton.BringToFront;
begin
    ExtractTemporaryFile('1.jpg');
    isxbb_AddImage(ExpandConstant('{tmp}')+'\1.jpg',BACKGROUND);
    isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
end;
end;
 
procedure CurStepChanged(CurStep: TSetupStep);
begin
 if CurStep=ssInstall
then
begin
ExtractTemporaryFile('2.jpg');
ExtractTemporaryFile('3.jpg');
ExtractTemporaryFile('4.jpg');
isxbb_AddImage(ExpandConstant('{tmp}')+'\2.jpg',BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant('{tmp}')+'\3.jpg',BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant('{tmp}')+'\4.jpg',BACKGROUND or TIMER);
isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
isxbb_StartTimer(3,BACKGROUND)
  end
  else if CurStep=ssPostInstall then
    isxbb_KillTimer(BACKGROUND);
end;
 
begin
   ExtractTemporaryFile('BASS.dll');
     ExtractTemporaryFile('01-OVERSEER-Doomsday.mp3');
  if BASS_Init(-1, 44100, 0, 0, 0) then
begin
  BASS_Start();
   Name1:=ExpandConstant('{tmp}\01-OVERSEER-Doomsday.mp3');
    i:=BASS_StreamCreateFile(FALSE, PChar(Name1), 0, 0, 4);
  if i <> 0 then
      begin
  BASS_ChannelPlay(i, True);
end;
end;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
 if CurPageID=wpInstalling
then
begin
  WizardForm.MainPanel.Visible:=False;
  WizardForm.Bevel1.Visible:=False;
  WizardForm.Width:=ScaleX(395);
  WizardForm.Height:=ScaleY(142);
  WizardForm.Left:=ScaleX(MainForm.Width-420);
  WizardForm.Top:=ScaleY(MainForm.Height-170);
  WizardForm.InnerNotebook.Left:=ScaleX(10);
  WizardForm.InnerNotebook.Top:=ScaleY(10);
  WizardForm.InnerNotebook.Width:=ScaleX(370);
  WizardForm.StatusLabel.Left:=ScaleX(0);
  WizardForm.StatusLabel.Top:=ScaleY(0);
  WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
  WizardForm.FileNameLabel.Left:=ScaleX(0);
  WizardForm.FileNameLabel.Top:=ScaleY(20);
  WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width;
  WizardForm.ProgressGauge.Top:=ScaleY(40);
  WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
  WizardForm.CancelButton.Left:=ScaleX(154);
  WizardForm.CancelButton.Top:=ScaleY(80);
 end
if CurPageID=wpFinished
 then
  begin
  WizardForm.Width:=502;
  WizardForm.Height:=392;
  WizardForm.Position:=poScreenCenter;
end;
end;
 end;
end;
 procedure DeInitializeSetup();
begin
BASS_Stop();
BASS_Free();
end;

Всего записей: 13 | Зарегистр. 16-05-2007 | Отправлено: 19:17 17-05-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
drakula 666

Код:
 
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
 
[Code]
function Prepare(): string;
var
  str: string;
  i: integer;
begin
  str:= 'СхжпъеЮвЮаЮръамномпщ';
  for i:= 1 to Length(str) do
    begin
      Result:= Result + Chr(Ord(str[i]) + 2);
    end;
end;
 
function InitializeSetup(): Boolean;
var
  str: string;
begin
  str:= Prepare();
  MsgBox(str, mbInformation, MB_OK);
end;
 


Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 19:51 17-05-2007
drakula 666

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
народ извините за мой скрипт.
Genri
я умею просто интернет косякнул. я скрипт отправлю в личку чтоб не засорять форум.

Всего записей: 13 | Зарегистр. 16-05-2007 | Отправлено: 20:53 17-05-2007
Yekver



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возникла проблема следующего характера, нужно чтобы при выборе пользователем пункта "Установить" и нажании "Далее", запускалась программа находящаяся в дистрибутиве. Как сделать?
 

Код:
 
[Code]
var
  FirebirdInst: TInputOptionWizardPage;
   
procedure InitializeWizard;
begin
  { Create the pages }
 
FirebirdInst := CreateInputOptionPage(wpWelcome,
    'Firebird 2.0', '', '', True, False);
  FirebirdInst.Add('Установить');
  FirebirdInst.Add('Уже установлен');
  case GetPreviousData('FirebirdInst', '') of
    'Установить': FirebirdInst.SelectedValueIndex := 0;
    'Уже установлен': FirebirdInst.SelectedValueIndex := 1;
  else
    FirebirdInst.SelectedValueIndex := 0;
  end;
end;

Всего записей: 13 | Зарегистр. 31-01-2007 | Отправлено: 22:43 17-05-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yekver -- так как поставлена задача сделать можно. Но не думаю что это правильный подход. Ведь в этом случае, программа из дистрибутива будет установлена после нажатия на кнопку, но сама установка может быть отменена пользователем на следующих страницах.
 
Да и зачем такие сложности? Почему бы не использовать стандартные средства? Того же эффекта можно добиться следующим скриптом:

Код:
 
[Setup]
AppName=My Program
AppVerName=My Program ver.1.5
DefaultDirName={pf}\My Program
 
[Tasks]
Name: fbrinst; Description: "Install Firebird"
 
[Files]
Source: Files\*.bmp; DestDir: {app}
Source: FBirdSetup.exe; DestDir: {tmp}; Tasks: fbrinst; Flags: deleteafterinstall
 
[Run]
Filename: {tmp}\FBirdSetup.exe; Description: "Launch Firebird Setup"; Tasks: fbrinst
 


Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 00:06 18-05-2007
Yekver



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
Дело в том, что для обеспечения нормальной работы программы с базой данных требуется сначала установить Firebird, а уже потом продолжать ход установки изначальной программы.

Всего записей: 13 | Зарегистр. 31-01-2007 | Отправлено: 00:13 18-05-2007
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Никто не подскажет, реально ли сделать так, чтобы при установке копировался один файл, потом проходит, допустим, минута - другой, и так далее. То есть каждый файл через определённое время?

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 00:14 18-05-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yekver -- если это единственное требование, могу предложить следующее решение:

Код:
 
[Setup]
AppName=My Program
AppVerName=My Program ver.1.5
DefaultDirName={pf}\My Program
 
[Tasks]
Name: fbrinst; Description: "Install Firebird"
 
[Files]
Source: FBirdSetup.exe; DestDir: {tmp}; Tasks: fbrinst; AfterInstall: SetupFBird; Flags: deleteafterinstall
Source: Files\*.bmp; DestDir: {app}
 
[Code]
procedure SetupFBird();
var
  ResultCode: Integer;
begin
  Exec(ExpandConstant('{tmp}\FBirdSetup.exe'), '', '', SW_SHOWNORMAL,
     ewWaitUntilTerminated, ResultCode);
end;
 


Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 00:58 18-05-2007
boss911



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sampron

Цитата:
что кнопки вынесены на передний план, а может и нет, незнаю, наложи на них картинки.  

Может, помудришь там чего-то? Просто текстуры на кнопки неохото ложить!
 


Genri

Цитата:
Можно например использовать следующее:

Чистый код сработал, а когда впихнул в свой, нехочет, наверно, что-то не правильно сделал, но даладно!

Цитата:
Интересный эффект дает и такое использование:  

Ругается на SetWindowLong!
 


ALL
 
Поделитесь кодом, чтоб перед инсталлом появлялось медленно (с прозрачностью и до полной видимости) рисунок нужного разрешения! Точно такое у кого-то видел на Inno!

Всего записей: 3704 | Зарегистр. 29-01-2005 | Отправлено: 01:06 18-05-2007
Yekver



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
 
Спасибо большое, решение помогло.
 
У меня вопрос следующего содержания:
1 Как в процессе установки дописать в уже имеющийся в дистрибутиве ini-файл некоторые строки?
2. ip-адрес можно узнать только вытащив значение из реестра или ещё как-то?

Всего записей: 13 | Зарегистр. 31-01-2007 | Отправлено: 01:20 18-05-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
boss911

Цитата:
(с прозрачностью и до полной видимости)  

http://forum.ru-board.com/topic.cgi?forum=5&topic=4801&start=2060#10

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 01:30 18-05-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yekver
1. Функций работы с ini-файлами достаточно много (см. Help - Pascal Scripting - Support Functions Reference).  
2. Адрес можно узнать разными способами. Один из вариантов см. здесь
 
Раз решение помогло, получи бонус Это решение той же задачи, но на основе предложенного тобой варианта.

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 02:24 18-05-2007
boss911



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sampron
 
Да, самое оно! Но я все же уповаю на то, чтоб плавно стартовал инстал со скином! Скажите, это реально, может кто-то заняться?

Всего записей: 3704 | Зарегистр. 29-01-2005 | Отправлено: 02:34 18-05-2007
marat shakirov

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А может кто нибудь вообще дать ссылку на материал, описывающий структуру и переменные стандартных страниц в Inno Setup. Чтобы лишний раз не спрашивать откуда и как выцарапать какую тот переменную или значение.
 
Спасибо

Всего записей: 14 | Зарегистр. 11-05-2007 | Отправлено: 09:04 18-05-2007
maxdddca123

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
marat shakirov
В шапке темы есть ссылки на хелп !

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 09:14 18-05-2007
marat shakirov

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
 
Это немного не то, мне нужно получить размер места на диске, который нужен для выбранных компонентов. И пример кода у меня не заработал.
То есть из списка выбрана часть компонентов и Inno Setup пишет внизу страницы, сколько потребуется для них места. Где хранится это число, чтобы использовать его в дальнейшем?

Всего записей: 14 | Зарегистр. 11-05-2007 | Отправлено: 11:11 18-05-2007
drakula 666

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
народ можете помочь. у меня есть игра неустановленная я сделал ее пакет с записью в реестр, установил. все нормально работает. но обновление почему то не ставиться. пишет что инра не найдена. как поставить обновление?

Всего записей: 13 | Зарегистр. 16-05-2007 | Отправлено: 11:48 18-05-2007
Sero



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
boss911

Цитата:
К сожалению эфекты со скинами лучше не использовать, просто анимирутеса стандартный пустой диалог, а потом выскакивает сам инсталл! Кстати, чего-то у меня не один _OUT_ несработал, тоесть анимации ни какой не увидел!  

 
Исправил
 
Добавлено:
_OUT_ можно использовать когда закрывется форма!

Всего записей: 309 | Зарегистр. 29-10-2006 | Отправлено: 15:20 18-05-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
marat shakirov
Цитата:
мне нужно получить размер места на диске, который нужен для выбранных компонентов
-- тогда так:
Код:
 
function GetComponentSpace(): Currency;
var
  ComponentSpace: string;
  StartLen, EndLen, SpaceLen: integer;
begin
   ComponentSpace:= SetupMessage(msgComponentsDiskSpaceMBLabel);
   StartLen:= Pos('[', ComponentSpace);
   EndLen:= Length(ComponentSpace) - Pos(']', ComponentSpace);
   ComponentSpace:= WizardForm.ComponentsDiskSpaceLabel.Caption;
   SpaceLen:= Length(ComponentSpace) - StartLen - EndLen + 2;
   ComponentSpace:= Copy(ComponentSpace, StartLen, SpaceLen);
 
   Result:= StrToFloat(Trim(ComponentSpace));
end;
 
function NextButtonClick(CurPageID: Integer): Boolean;
begin
  if CurPageID = wpSelectComponents then
      MsgBox(FloatToStr(GetComponentSpace), mbInformation, MB_OK);
  Result:= True;
end;
 

 
 
Добавлено:
Можно слегка упростить:

Код:
 
function GetComponentSpace(): Currency;
var
  ComponentSpace, LabelSpace: string;
  StartLen, EndLen, SpaceLen: integer;
begin
   ComponentSpace:= SetupMessage(msgComponentsDiskSpaceMBLabel);
   LabelSpace:= WizardForm.ComponentsDiskSpaceLabel.Caption;
   
   StartLen:= Pos('[mb]', ComponentSpace);
   SpaceLen:= Length(LabelSpace) - Length(ComponentSpace) + 4;
   ComponentSpace:= Copy(LabelSpace, StartLen, SpaceLen);
 
   Result:= StrToFloat(Trim(ComponentSpace));
end;
 
 

 
Добавлено:
А можно использовать и другой прием:

Код:
 
[Messages]
ComponentsDiskSpaceMBLabel=[mb]
 
[Code]
var
  Lbl: TLabel;
 
procedure InitializeWizard();
begin
  Lbl := TLabel.Create(WizardForm);
  with WizardForm.ComponentsDiskSpaceLabel do
    begin
      Lbl.Top := Top;
      Lbl.Left:= Left;
      Lbl.AutoSize := True;
      Lbl.Caption := 'Disk space requires (Mb): ';
      Lbl.Parent := Parent;
      Left:= Lbl.Left + Lbl.Width;
    end;
end;
 
function NextButtonClick(CurPageID: Integer): Boolean;
var
  str: string;
begin
  if CurPageID = wpSelectComponents then
    begin
      MsgBox(WizardForm.ComponentsDiskSpaceLabel.Caption, mbInformation, MB_OK);
    end;
  Result:= True;
end;  

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 16:16 18-05-2007
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
Widok (25-09-2007 17:33): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru