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

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

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

Widok (23-04-2007 18:02): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 103 104 105 106 107 108

   

haav



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

 
 
Это мощное средство для создания установочных пакетов [дистрибутивов] программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно легко самим создавать диалоги, используя спец. дизайнер. И всё это абсолютно бесплатно! По сравнению с NullSoft [основной конкурент на бесплатной ниве] мне albel понравилась более интуитивно-понятная структура скрипта, простота в настройке.  
 
Последний релиз: 5.1.11 [1 Марта 2007 года]
История версий | скачать  
 
Русификатор от NightW0lf для версии 5.1.11  
Скачать | зеркало
 
Русская справка к версиям 5.0.xx
Скачать | зеркало || cкачать в .chm формате
И снова BagIra на высоте
 
Руководство по расширенным возможностям Inno Setup 5 [не для чайников] от Kindly
[3 версия]  
Скачать | зеркало
[4 версия]  
Скачать | зеркало
[5 версия]  
Скачать | зеркало
 
Inno Setup Extensions Knowledge Base  
Скачать | зеркало
 
Примечание: начиная с версии 5.1.10 в Inno Setup при использовании в инсталляторе фонового изображения формата BMP стало глючить возможность растягивания картинки на весь экран - чтобы это исправить добавьте этот код.
Если вы захотите использовать метод проверки внешнего файла через сумму MD5 [который описан в 5 версии руководства по программированию в Inno Setup] для запуска инсталлятора то вам понадобится калькулятор суммы MD5, калькулятор сумм MD5, SHA-256, CRC32. Если вы хотите узнать какие ключи в реестр вносит та или иная программа [или игра] то Вам понадобится RegShot.



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



ISTool
 
www.istool.org
 
Последний релиз: 5.1.8 [18 Октября 2006 года] New
Скачать | зеркало  
[как сказано в описании изменений, добавлена поддержка новых директив 5.1.8]
 
Русификатор
Скачать | зеркало


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


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

Последний релиз: 1.02.5 [02 Апреля 2007 года]
Скачать | обновление
Примечание: обновление ставится только на Inno Setup Quickstartpack 5.1.11.

Всего записей: 67 | Зарегистр. 11-12-2001 | Отправлено: 15:23 09-10-2002 | Исправлено: NightW0lf, 15:16 15-04-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sampron
Код:
 
[Setup]  
AppName=My Program  
AppVerName=My Program version 1.5  
DefaultDirName={pf}\My Program  
DisableProgramGroupPage=yes  
WindowVisible=yes
 
[Files]  
Source: Files\*.*; DestDir: {app}; Flags: ignoreversion
 
[Code]
function GetSystemMetrics(nIndex:Integer):Integer;
external 'GetSystemMetrics@user32.dll stdcall';
 
procedure InitializeWizard();
var
  Form: TSetupForm;
  ProgressBar: TNewProgressBar;
  i: Integer;
begin
    Form := CreateCustomForm();
  try
    with Form do
      begin
        ClientWidth := ScaleX(256);
        ClientHeight := ScaleY(16);
        BorderStyle:= bsNone;
        Left:= GetSystemMetrics(16) - ClientWidth  -  ScaleX(12);
        Top:=  GetSystemMetrics(17) - ClientHeight  - ScaleY(12);
      end;
    ProgressBar := TNewProgressBar.Create(Form);
    with ProgressBar do
      begin
        Left := ScaleX(8);
        Top := ScaleX(12);
        Width := Form.Width - (2 * Left);
        Height := Form.ClientHeight - (2 * Top);
        Parent := Form;
        Min:= 0;
        Max:= 30;
        Position := 0;
      end;
    Form.Show();
    for i:= 0 to 30 do
      begin
        ProgressBar.Position:= i;
        Sleep(500);
        i:= i + 1;
      end;
  finally
    Form.Free();
  end;
end;

 

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 02:56 12-01-2007
BAPK

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

Цитата:
-- не совсем понятно - их всего 4? Или есть еще? Давай полный список

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: Kabinet; Description: Kabinet; GroupDescription: Subnets; Flags: exclusive unchecked; Languages:  
Name: Skynet; Description: Skynet; GroupDescription: Subnets; Flags: exclusive unchecked; Languages:  
Name: Convex_Olympus; Description: Convex, Olympus; GroupDescription: Subnets; Flags: exclusive unchecked; Languages:  
Name: Planet_Extrim_Insis_Infotek; Description: Planet, Extrim, Insis, Infotek; GroupDescription: Subnets; Flags: exclusive; Languages:  
Name: rus; Description: Русификация; GroupDescription: Только если программа устанавливается в каталог по умолчанию:; Flags: unchecked

Всего записей: 34 | Зарегистр. 27-01-2006 | Отправлено: 03:03 12-01-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BAPK -- ну почти как в примере на предыдущей странице. Так устроит?

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 03:04 12-01-2007
BAPK

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ошибка: Duplicate idnetifier 'InitializeWizar' в этой строчке:procedure InitializeWizard();

Всего записей: 34 | Зарегистр. 27-01-2006 | Отправлено: 03:09 12-01-2007 | Исправлено: BAPK, 03:11 12-01-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BAPK -- Мой совет (и сейчас и на будущее) - возьми скопируй весь скрипт, который я дал, сохрани в отдельный файл, запусти, убедись что все работает. И только потом пытайся интегрить в свой скрипт.  
 
Я так понимаю, что у тебя уже была процедура InitializeWizard, а ты вставил еще одну.

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 03:15 12-01-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
СУПЕР!!!  
Вот только жалко он не хочет выполнятся одновременно с splash-рисунком

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Весь скрипт, невижу где...
 
[ISSI]
#define ISSI_Russian
#define ISSI_Russian "C:\Temp\Настройки.rtf"
#define ISSI_LicensePrint
#define ISSI_Russian
#define ISSI_About "{cm:issiAbout}"
#define ISSI_About "NameAndVersion"
#define ISSI_AppVersion "0.0.5.1"
#define ISSI_SplashScreen "C:\Temp\ifnews2.bmp"
#define ISSI_SplashScreen_T 2
#define ISSI_SplashScreen_X 500
#define ISSI_SplashScreen_Y 300
#define ISSI_Splash_Corner 100
#define ISSI_URL "http://infofree.ru/forum/showthread.php?t=25896"
#define ISSI_UrlText "Помощь и настройка"
 
[Setup]
AppName=ApexDC++ (InfoFree Hub)
AppVerName=ApexDC++ (InfoFree Hub)
AppPublisher=Infofree, Inc.
AppPublisherURL=http://infofree.ru
AppSupportURL=http://infofree.ru/forum/showthread.php?t=25896
AppUpdatesURL=http://infofree.ru/forum/downloads.php?do=file&id=123
DefaultDirName={pf}\ApexDC++(InfoFree Hub)
DefaultGroupName=ApexDC++ (InfoFree Hub)
AllowNoIcons=true
OutputDir=C:\Temp
OutputBaseFilename=ApexDC++(InfoFree Hub)
SetupIconFile=C:\Temp\1.ico
Compression=lzma
SolidCompression=true
VersionInfoVersion=0.0.5.1
VersionInfoCopyright=BAPK
WizardImageFile=C:\Program Files\Inno Setup 5\Modern\SetupModern21.bmp
WizardSmallImageFile=C:\Program Files\Inno Setup 5\Modern\Small\SetupModernSmall16.bmp
AppID={{6EF43DCA-3877-41AC-819A-FE4B027968F6}
ShowLanguageDialog=no
AppVersion=0.0.5.1
UninstallDisplayName=ApexDC++(InfoFree Hub)
VersionInfoTextVersion=Beta 5
DisableStartupPrompt=true
FlatComponentsList=false
VersionInfoCompany=infofree.ru
VersionInfoDescription=Тестовая версия
AppCopyright=BAPK
TimeStampsInUTC=true
LicenseFile=C:\Temp\Настройки.rtf
 
[Messages]
BeveledLabel=- Packaged by BAPK
 
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
 
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: Kabinet; Description: Kabinet; GroupDescription: Subnets; Flags: exclusive unchecked; Languages:  
Name: Skynet; Description: Skynet; GroupDescription: Subnets; Flags: exclusive unchecked; Languages:  
Name: Convex_Olympus; Description: Convex, Olympus; GroupDescription: Subnets; Flags: exclusive unchecked; Languages:  
Name: Planet_Extrim_Insis_Infotek; Description: Planet, Extrim, Insis, Infotek; GroupDescription: Subnets; Flags: exclusive; Languages:  
Name: rus; Description: Русификация; GroupDescription: Только если программа устанавливается в каталог по умолчанию:; Flags: unchecked
 
[Files]
Source: C:\Temp\ApexDC++\ApexDC.exe; DestDir: {app}; Flags: ignoreversion
Source: C:\Temp\ApexDC++\EmoPacks\*; DestDir: {app}\EmoPacks\; Flags: ignoreversion recursesubdirs createallsubdirs
Source: C:\Temp\ApexDC++\Settings\*; DestDir: {app}\Settings\; Flags: ignoreversion recursesubdirs createallsubdirs
Source: C:\Temp\ApexDC++\Themes\*; DestDir: {app}\Themes\; Flags: ignoreversion recursesubdirs createallsubdirs
Source: ..\ApexDC++\russian.xml; DestDir: {app}
Source: ..\DCPlusPlus.xml; DestDir: {app}\Settings\; Flags: onlyifdestfileexists overwritereadonly; Tasks: rus
Source: C:\Temp\ApexDC++(InfoFree Hub)\ApexDC++\Subnets\Convex, Olympus\Settings\*; DestDir: {app}\Settings\; Flags: overwritereadonly ignoreversion; Languages: ; Tasks: Convex_Olympus
Source: C:\Temp\ApexDC++(InfoFree Hub)\ApexDC++\Subnets\Skynet\Settings\*; DestDir: {app}\Settings\; Flags: overwritereadonly ignoreversion; Languages: ; Tasks: Skynet
Source: C:\Temp\ApexDC++(InfoFree Hub)\ApexDC++\Subnets\Kabinet\Settings\*; DestDir: {app}\Settings\; Flags: overwritereadonly ignoreversion; Languages: ; Tasks: Kabinet
 
[INI]
Filename: {app}\ISTool.url; Section: InternetShortcut; Key: URL; String: http://infofree.ru/forum/showthread.php?t=25896/; Tasks: ; Languages:  
 
[Icons]
Name: {group}\ApexDC++(InfoFree Hub); Filename: {app}\ApexDC.exe
Name: {group}\{cm:UninstallProgram,ApexDC++(InfoFree Hub)}; Filename: {uninstallexe}
Name: {userdesktop}\ApexDC++(InfoFree Hub); Filename: {app}\ApexDC.exe; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\ApexDC++(InfoFree Hub); Filename: {app}\ApexDC.exe; Tasks: quicklaunchicon
 
[CustomMessages]
 
#define ISSI_IncludePath "C:\Program Files\Inno Setup 5\ISSI"
 
#include ISSI_IncludePath+"\_issi.isi"
 
[Run]
Filename: {app}\ApexDC.exe; Description: {cm:LaunchProgram,ApexDC++(InfoFree Hub)}; Flags: nowait postinstall skipifsilent
 
[UninstallDelete]
Name: {app}; Type: filesandordirs; Tasks: ; Languages:

Всего записей: 34 | Зарегистр. 27-01-2006 | Отправлено: 03:22 12-01-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
http://data.cod.ru/374898122

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 03:28 12-01-2007
BAPK

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

Цитата:
BAPK -- Мой совет (и сейчас и на будущее) - возьми скопируй весь скрипт, который я дал, сохрани в отдельный файл, запусти, убедись что все работает. И только потом пытайся интегрить в свой скрипт.  
 
Я так понимаю, что у тебя уже была процедура InitializeWizard, а ты вставил еще одну.

Твой скрипт отдельно работает.
 
Я с кодом вообще не работал. Так что не знаю что, где и как...

Всего записей: 34 | Зарегистр. 27-01-2006 | Отправлено: 03:31 12-01-2007 | Исправлено: BAPK, 03:55 12-01-2007
GRom V

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

Цитата:
[Setup]  
AppName=My Program  
AppVerName=My Program version 1.5  
DefaultDirName={pf}\My Program  
DisableProgramGroupPage=yes  
WindowVisible=yes  
 
[Files]  
Source: Files\*.*; DestDir: {app}; Flags: ignoreversion  
 
[Code]  
function GetSystemMetrics(nIndex:Integer):Integer;  
external 'GetSystemMetrics@user32.dll stdcall';  
 
procedure InitializeWizard();  
var  
  Form: TSetupForm;  
  ProgressBar: TNewProgressBar;  
  i: Integer;  
begin  
    Form := CreateCustomForm();  
  try  
    with Form do  
      begin  
        ClientWidth := ScaleX(256);  
        ClientHeight := ScaleY(16);  
        BorderStyle:= bsNone;  
        Left:= GetSystemMetrics(16) - ClientWidth  -  ScaleX(12);  
        Top:=  GetSystemMetrics(17) - ClientHeight  - ScaleY(12);  
      end;  
    ProgressBar := TNewProgressBar.Create(Form);  
    with ProgressBar do  
      begin  
        Left := ScaleX(8);  
        Top := ScaleX(12);  
        Width := Form.Width - (2 * Left);  
        Height := Form.ClientHeight - (2 * Top);  
        Parent := Form;  
        Min:= 0;  
        Max:= 30;  
        Position := 0;  
      end;  
    Form.Show();  
    for i:= 0 to 30 do  
      begin  
        ProgressBar.Position:= i;  
        Sleep(500);  
        i:= i + 1;  
      end;  
  finally  
    Form.Free();  
  end;  
end;

 
 
А какой смысл в этом граббере ведь в данном случае во время его выполнения ничего не происходит!!! Просто так?
 
 
Добавлено:
Genri
 
С помощью патченой Setup.e32 jn Chanka картинки меняются так что не видно фона под ними.
Как такое можно сделать без патченой Setup.e32 - лишь скриптом?
И можно ли убрать надпись на синем фоне? (с твоей Setup.e32 это отлично видно +картинки гуляют)
Заранее спасибо

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 06:39 12-01-2007
maxdddca123

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Народ, помогите. Есть кнопка  BrowseButton:= TButton.Create(WizardForm);
Как мне на неё нажать ?  
SendMessage(WizardForm.BrowseButton.Handle, 513, 0, 0)
SendMessage(WizardForm.BrowseButton.Handle, 514, 0, 0)
не работает, пишет неизвестный идентификатор...

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 09:34 12-01-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
maxdddca123
WizardForm.BrowseButton.OnClick(WizardForm.BrowseButton);

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 10:12 12-01-2007
CapsLosk

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
Заранее извеняюсь....а не мог ли ты перекомпилить Setup.e32 от Chanka ...чтоб инсталлятор брал эти рисунки например из Res.bin т.е както скрыть простой доступ к папке?

Всего записей: 66 | Зарегистр. 11-01-2007 | Отправлено: 10:14 12-01-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CapsLosk -- извинения приняты. исходники удалил. перекомпилить не могу.

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 10:19 12-01-2007
CapsLosk

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

Цитата:
CapsLosk -- извинения приняты. исходники удалил. перекомпилить не могу.

 
Тогда присоединяюсь к GRom V - как можно сделать это скриптом - я имею ввиду то что бы форма (MainForm) и белая надпись на ней никак не проскакивала???
Мог бы помоч?

Всего записей: 66 | Зарегистр. 11-01-2007 | Отправлено: 10:39 12-01-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BAPK
Цитата:
Весь скрипт, невижу где...  
-- посмотри тут:
http://forum.ru-board.com/topic.cgi?forum=5&topic=4801&start=820#9
может поможет.
 
 
Добавлено:
CapsLosk
Цитата:
как можно сделать это скриптом - я имею ввиду то что бы форма (MainForm) и белая надпись на ней никак не проскакивала???  
-- посмотри отсюда:
http://forum.ru-board.com/topic.cgi?forum=5&topic=4801&start=840#16
и до конца страницы. может поможет.
 

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 11:15 12-01-2007
BAPK

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

Цитата:
-- посмотри тут:  
http://forum.ru-board.com/topic.cgi?forum=5&topic=4801&start=820#9  
может поможет.

Та же ошибка была, я сам додумался, но код ниже ISSI вставлял...
 
Добавлено:
Выбор появился на новой странице, но как я понимаю никакой функциональной нагрузки он не несет т.к. на странице со всеми задачами Выбор сабнетов остался.

Всего записей: 34 | Зарегистр. 27-01-2006 | Отправлено: 11:26 12-01-2007 | Исправлено: BAPK, 11:59 12-01-2007
maxdddca123

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Genri
Выручай - запутался
 
procedure BrowseOnClick(Sender: TObject);
var
res: Boolean;
UserSelectDir: String;
begin
res:=BrowseForFolder('Веберите папку базы 1С', UserSelectDir, False);
SelectedDir:= UserSelectDir;
if res then
    begin
     for i:= 0 to Page.CheckListBox.Items.Count - 1 do
     if SelectedDir = Names[I] then
MsgBox('Эта база уже присутствует в списке !', mbInformation, MB_OK);
end;
begin
for i:= 0 to Page.CheckListBox.Items.Count - 1 do
if SelectedDir <> Names[I] then
begin
Page.CheckListBox.AddCheckBox('1C Налогоплательщик', SelectedDir, 0, True, True, False, False, nil);
RegWriteStringValue(HKEY_CURRENT_USER,  'Software\1C\1Cv7\7.7\Titles',  SelectedDir, '1C Налогоплательщик');
end;
    end;
end;
 
Смысл такой: не дать пользователю добавить 2-у такую же базу в список баз.
Не получается с if SelectedDir <> Names[I] then, он добавляет ещё лишние галочки, которых быть не должно... Т.Е, мне надо, что бы сначала проверялись все пункты по признаку :SelectedDir <> Names[I], и если во ВСЁМ списке нет базы, которую выбрал юзер (UserSelectDir), то добавлять 1 галочку с этой базой! Я понимаю, что он добавляет галки изза того, что например из 3-х баз 2 не совпадают, и он добавляет, но как это убрать ? Если понял меня помоги пожалуйста !

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 11:50 12-01-2007 | Исправлено: maxdddca123, 11:52 12-01-2007
NightW0lf



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Исправленно!  
Перефразирую свою вопрос:
Возможно ли как нибудь вообще сделать - фон из JPG кртинки, а также смену JPG картинок во время устанокви БЕЗ WindowVisible=yes и синей формы с названием проги?

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 13:15 12-01-2007 | Исправлено: NightW0lf, 15:45 12-01-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NightW0lf
 
[Setup]
WindowVisible=yes
WindowShowCaption=no
BackColor=$000000
 
[Files]
Source: C:\isxbb.dll; DestDir: {tmp}; Flags: dontcopy
Source: C:\1.jpg; DestDir: {tmp}; Flags: dontcopy
Source: C:\2.jpg; DestDir: {tmp}; Flags: dontcopy
Source: C:\3.jpg; DestDir: {tmp}; Flags: dontcopy
Source: C:\4.jpg; DestDir: {tmp}; Flags: dontcopy
 
[Code]
const
BACKGROUND=5; // "5"-по центру, "6"-растянуто на весь экран, "1,2,3,4"-в разных углах экрана
TIMER=16;
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';
procedure InitializeWizard();
begin
ExtractTemporaryFile('1.jpg');   //1.jpg-это фоновый рисунок он показывается как в начале так и в конце установки
isxbb_AddImage(ExpandConstant('{tmp}')+'\1.jpg',BACKGROUND);
isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
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;
 
скачать isxbb.dll можно здесь: http://data.cod.ru/381517258

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 14:07 12-01-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 103 104 105 106 107 108

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru