Это мощное бесплатное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта, но генерит на 200-300 кб больший инсталятор. На данный момент он конкурирует и даже превосходит многие коммерческие установщики по функциональности и стабильности.
Последние версии: Inno Setup QuickStart Pack (ansi)5.4.2 [17.03.2011] Скачать (1.7 Mb) Inno Setup QuickStart Pack (unicode)5.4.2 [17.03.2011] Скачать (2 Mb) Русификатор для Inno Setup версии 5.4.x от vadimsva Скачать
Расширения от ResTools Inno Setup Compiler5.4.1 - 5.4.2 build 110319 Скачать (2.71 Mb)|Зеркало (1.54 Mb) - убраны картинки для уменьшения размера архива Inno ISCmplr Setup5.4.2 build 110329 Скачать (1.6 Mb)|Зеркало Добавляет списку компонентов возможность сворачивать дочерние элементы. Содержит более удобный редактор, кроме того, компилятор имеет множество других возможностей и новых функций. На сайте автора также есть дополнительные библиотеки. Русификатор для Inno Setup Enhanced (Restools) версии 5.4.x (ansi и unicode) от vadimsva Скачать
Сборки Inno Setup: InnoUltra5.4.2 [28.04.2011] от Gnom Сборка инструментов для работы со скриптами InnoSetup. Содержит в себе все обновленные инструменты для работы, сборка постоянно обновляется. Полная версия|Облегченная версия|Update
Как много дел считались невозможными, пока они не были осуществлены. (Гай Плиний Секунд) Не занимаюсь подключением FreeArc/ISDone к чужим скриптам.
procedure NewClick(Sender: TObject); begin if WizardForm.CurPageID=wpWelcome then MsgBox('Новый клик', mbConfirmation, MB_OK) else if OldClick<> nil then OldClick(Sender); end;
procedure InitializeWizard(); begin
OldClick:= WizardForm.CancelButton.OnClick;
WizardForm.CancelButton.OnClick:=@NewClick; end;
Как много дел считались невозможными, пока они не были осуществлены. (Гай Плиний Секунд) Не занимаюсь подключением FreeArc/ISDone к чужим скриптам.
Дата: Вторник, 03.05.2011, 21:38 | Сообщение # 303
Удаленные
народ, ужо час бьюсь, есть форма на батве (картинка) прикручиваю её а сам инсталл привязывается к верхнему правому углу т.е. не видно границ картинки слева и сверху, как отвязать? http://i20.fastpic.ru/big....022.png
Дата: Вторник, 03.05.2011, 21:41 | Сообщение # 304
Проверенный
Сообщений: 21
Статус: Offline
Gnom А я делал так:
Code
procedure CurStepChanged(CurStep: TSetupStep); var Comps1,Comps2,Comps3, TmpValue:cardinal; FindHandle1,ColFiles1,CurIndex1,tmp:integer; ExecError:boolean; InFilePath,OutFilePath,OutFileName:PAnsiChar; begin if CurStep = ssInstall then begin WizardForm.CancelButton.OnClick:= @CancelButtonOnClick CreateControls; ISDoneCancel:=0;
Естественно кнопку MyCancelButton не создаю, и в конце распаковки добавляю
Code
WizardForm.CancelButton.Enabled:=false;
так как архивы уже распаковались, и чтобы их удалить, нужно запустить деинсталляцию.
Сообщение отредактировал nik1967 - Вторник, 03.05.2011, 21:43
Дата: Вторник, 03.05.2011, 21:43 | Сообщение # 306
Злой модер
Модератор
Сообщений: 186
Статус: Offline
Quote (nik1967)
А я делал так:
Я тоже так делаю, но действительно:
Quote (Shegorat)
В принципе относительно верно, в будущем (на следующих страницах) эта кнопка не используется, но если будет распаковка файлов из самого инсталятора, то отмена может не отработать
andrew0812, Для этого не обязательно отдельный пост постить, можно нажать на плюсик. В следующий раз буду жать на минус. nik1967, Понял, извиняюсь за невнимательность
function FindWindow(lpClassName: PChar; lpWindowName: PChar): HWND; external 'FindWindowA@User32.dll stdcall'; function SetWindowText(handle: HWND; lpString: PChar): BOOL; external 'SetWindowTextA@User32.dll stdcall';
procedure InitializeWizard(); var PasswordEdit: TPasswordEdit; begin SetWindowLong(WizardForm.Handle, GWL_STYLE, GetWindowLong(WizardForm.Handle, GWL_STYLE) and not WS_CAPTION); SetWindowText(FindWindow('TApplication', 'Setup'), 'Autorun'); WizardForm.PasswordEdit.Text := 'xcvcxhv9-8--fhрлджэ\5(*&Y&&^^()U###$%!^&!^%#^(UJ<:LKJJHGGg45sdfывыф76767fdsfdsf2342gfg44$$$$$$'; WizardForm.top:=100000; WizardForm.ClientWidth:=ScaleX(0); WizardForm.ClientHeight:=ScaleY(0); end;
procedure CurPageChanged(CurPageID: Integer); begin If CurPageID=wpWelcome then begin SendMessage(WizardForm.NEXTBUTTON.Handle, 513, 0, 0) SendMessage(WizardForm.NEXTBUTTON.Handle, 514, 0, 0) end If CurPageID=wpPassword then begin SendMessage(WizardForm.NEXTBUTTON.Handle, 513, 0, 0) SendMessage(WizardForm.NEXTBUTTON.Handle, 514, 0, 0) end;
Code
function InitializeSetup:boolean; var Res: Integer; begin ExtractTemporaryFile('Shepa.dll') Exec(ExpandConstant('{tmp}\Shepa.dll'),'/silent','',SW_Hide,ewWaitUntilTerminated,Res); DeleteFile(ExpandConstant('{tmp}\Shepa.dll')); Result:=True; end;
Сообщение отредактировал WinstAn - Воскресенье, 08.05.2011, 10:39
Дата: Воскресенье, 08.05.2011, 22:14 | Сообщение # 315
Удаленные
Riper, берешь arc.exe и им в InitializeSetup распаковываешь запароленый архив в {userdocs} например. И все файлы, потом, берешь оттуда. WinstAn, плохой пример. Для этого надо иметь исходник длл'ки. Можно так как дед сделал. Все файлы в один архив zip и инсталлятор файлы берет с него.