Это мощное бесплатное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. По сравнению с 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 к чужим скриптам.
Дата: Суббота, 14.05.2011, 20:47 | Сообщение # 333
Злой модер
Модератор
Сообщений: 186
Статус: Offline
Riper, procedure ImgApplyChanges(h:HWND); external 'ImgApplyChanges@{tmp}\botva2.dll stdcall delayload'; //формирует окончательное изображение для вывода экран, //учитывая все изменения внесенные вызовами ImgLoad, ImgSetPosition, ImgSetVisibility, ImgRelease и обновляет окно //h - хэндл окна, для которого необходимо сформировать новое изображение В конце добавь: ImgApplyChanges(Mp3Form.Handle);
подскажите как объединить несколько Installwizard? Не там написал. Перенес в нужную тему.Shegorat ссылка Смотри вложения - дубликаторы. Лишние посты не плодим, спасибо - либо в личку, либо редактируем пост. GnomGnom, спс
Дата: Четверг, 19.05.2011, 19:10 | Сообщение # 335
Пользователь
Сообщений: 1
Статус: Offline
Доброго времени суток. Подскажите пожалуйста как реализовать такую задачу:
Запись в текстовый файл строчку, в которой место установленной программы, указывалось бы при помощи константы {app}. Конкретнее если можно про то как реализовать (правильно) константы в секции "код".
Вот мои наброски, а завершить ума не хватает:
[Setup] AppName=AppName AppVerName=AppVerName DefaultDirName={pf}\My Program
[Code]
procedure CurStepChanged(CurStep: TSetupStep); var S: TArrayOfString; F: string; i: Integer; begin If CurStep=ssDone then begin
F:= ExpandConstant('C:\report.txt');
S:= ExpandConstant('{app}');
if not FileExists(F) then Exit; // если файла нет, выходим LoadStringsFromFile(F, S); // загружаем файл for i:= 0 to GetArrayLength(S)-1 do if Pos('', S[i]) > 0 then S[i]:= ' {app}\My Program\Sounds\typerus.wav,{app}\My Program\Sounds\typeeng.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\misprint.wav,{app}\My Program\Sounds\ru.wav,{app}\My Program\Sounds\en.wav,{app}\My Program\Sounds\reverse.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\replace.wav'; // записываем параметры командной строки SaveStringsToFile(F, S, False); // сохраняем файл end; end;
Добавлено: --------------------------------- Shegorat, Спасибо огромнейшое!!!!! Не нужно создавать посты со "спасибками". Для этого есть система репутации. Либо редактируй предыдущий пост.Shegorat
Дата: Четверг, 19.05.2011, 19:25 | Сообщение # 336
Местный гуру
Администратор
Сообщений: 150
Статус: Offline
IvSatel Нужно раскрывать константы, т.е. использовать функцию ExpandConstant;
Code
[Setup] AppName=AppName AppVerName=AppVerName DefaultDirName={pf}\My Program
[Code]
procedure CurStepChanged(CurStep: TSetupStep); var S: TArrayOfString; F: string; i: Integer; begin If CurStep=ssDone then begin F:= ExpandConstant('C:\report.txt');
if not FileExists(F) then Exit; // если файла нет, выходим LoadStringsFromFile(F, S); // загружаем файл for i:= 0 to GetArrayLength(S)-1 do if Pos('<Sounds></Sounds>', S[i]) > 0 then S[i]:= ExpandConstant('<Sounds>{app}\My Program\Sounds\typerus.wav,{app}\My Program\Sounds\typeeng.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\misprint.wav,{app}\My Program\Sounds\ru.wav,{app}\My Program\Sounds\en.wav,{app}\My Program\Sounds\reverse.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\switch.wav,{app}\My Program\Sounds\replace.wav</Sounds>'); // записываем параметры командной строки end; SaveStringsToFile(F, S, False); // сохраняем файл end;
Как много дел считались невозможными, пока они не были осуществлены. (Гай Плиний Секунд) Не занимаюсь подключением FreeArc/ISDone к чужим скриптам.
Дата: Суббота, 21.05.2011, 17:18 | Сообщение # 337
Пользователь
Сообщений: 7
Статус: Offline
Дайте скрипт пожалуйста на отображения процентов по середине прогресса установки Кто тебе сказал, что твой вопрос относится к разделу справки? Просто указываеш в качестве родителя для лейбела, на котором отображаются проценты, прогрессбар, для которого эти проценты актуальны.Gnom
Дата: Воскресенье, 22.05.2011, 22:18 | Сообщение # 339
Проверенный
Сообщений: 67
Статус: Offline
Edison007, А смысл? Сделать как инстал? Был пример создания деинстала на обычной форме но работал как бы так сказать криво (пб не мог норм. отобразить удаление).
А так вроде нет.
Сообщение отредактировал Winst@n - Воскресенье, 22.05.2011, 22:23
Дата: Понедельник, 23.05.2011, 16:22 | Сообщение # 340
Удаленные
Доброго времени суток, проблема такова, выдрал скрипт от R3Pa4ek dirt 3, выдрал я исдоне для ботвы вроде всё отлично, настроил лейбы, наложил прогресс бар, но одно но (извините за тофтологию) не работает деинсталляция при отмене распаковки, этот скрипт подключается к основному, прошу помощи местных авторитетов.
Всем привет!! Меня тоже такой вопрос как и у Рикилл мучает! Что можно сделать!! Вот мой скрипт скрипт посмотрите. И ещё такой вопрос! Там есть чекбокс доп ПО, что надо писать в RUN чтобы ставилось ПО!? Заранее спасибо!
Рикил, THE_GUILTY_GOD, без вашего скрипта сложно чтото определенное сказать, нужно смотреть, не висит-ли на отмене, или в усслових отмены запуск деинсталлятора с параметром верисайлент, плюс у репачека вообще с отменой проблемы. В 12-й, вроде, части, он полтемы завалил вопросом, как отмену сделать. И я не помню, решил-ли он этот вопрос.
В скрипте, который предоставил A1ex, я нашел только это:
procedure Error; var n:integer; begin Exec(ExpandConstant('{uninstallexe}'), '/SILENT','', sw_Hide, ewWaitUntilTerminated, n); end;
- запуск деинсталлятора в тихом режиме с отбражением прогресса - параметр /SILENT, но со скрытием этого процесса - параметр sw_Hide функции Exec. могу только предложить sw_Hide заменить на SW_SHOW - возможно инно скрывает свой процесс полностью, и деинсталлятора не видно. Плюс, нужно смотреть, как в основном скрипте реализована отмена на стадии установки. А то, может откат работает, а к исДоне он не привязан - тогда то, что успело распаковаться - удалено не будет.
Quote (THE_GUILTY_GOD)
Там есть чекбокс доп ПО, что надо писать в RUN чтобы ставилось ПО!?
Дописать :
function POch: Boolean; begin Result:= BtnGetEnabled(PO); end;
Появляется это! Дык, ищи ошибки, настраивай, дальше несложно уже и компилируй лучше всетаки компилятором, а не InnoIDE - более корректно работать все будет. Gnom
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); begin if CurPageID=wpInstalling then begin Confirm := False; MyExitMessage(); if MyExit.ShowModal() = mrCancel then Cancel := False; if Cancel then AllCancel; end; end; procedure CurStepChanged(CurStep: TSetupStep); begin case CurStep of ssInstall: begin CurStepChanged2(CurStep); WizardForm.CancelButton.OnClick := @CancelButtonClick; NewPB:=ImgPBCreate(WizardForm.Handle, ExpandConstant('{tmp}\Progressimg.png'), ExpandConstant('{tmp}\Progressbackground.png'),ScaleX(75),ScaleY(200),ScaleX(400),ScaleY(15)); ImgApplyChanges(WizardForm.Handle); PBOldProc:=SetWindowLong(WizardForm.ProgressGauge.Handle,-4,CallBackProc(@PBProc,4)); ImgApplyChanges(WizardForm.Handle); end; ssPostInstall: AllCancel; end; end;
На рубоард не хочу идти. Внизу компилятора написано "установка успешно завершена" (в дебаггере на англ) так что думаю никто не видит ошибки, но зато ошибку видит лейб отмены и выдаёт сообщение в конце. Скрипт то мой личный, а выдран лишь исдон, так что на автора можно не надеяться, глянь пожалуйста. Свой скрипт не могу дать, могу дать только определённые секции от которых зависит автодеинсталляция Понятно почему не хочеш на ру-борд. Потому, что не можеш. И здесь тебе билет в баню за мультиакк. Krinkels