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

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

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

Widok (17-06-2008 18:16): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Widok



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

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


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


Мощная надстройка для Inno Setup, при помощи которой создавать свои инсталляторы становится очень просто.
 
Последний релиз: 5.2.1 [15.10.2007]
Скачать | зеркало  
 
Русификатор
Скачать | зеркало

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

Удобная оболочка для облегчения написания скриптов установки для Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
 
Последний релиз: 1.0.3.1 [23.03.2008]
Скачать | обновление | изменения
Примечание: обновление ставится только на Inno Setup Quickstartpack 5.2.3.
 
Старая версия [ScriptMaker 5.1.6.9 от 09.07.2006]
Русификатор версии 5.1.5 от GloThin | зеркало | зеркало | зеркало пароль: ruboard

Примечание для всех участников

Длинные куски кода помещайте под тегом more, дабы дать возможность знатокам Inno Setup прочитать сам вопрос, а не пролистывать бесконечно длинные листинги скриптов в посте.

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 17:33 25-09-2007 | Исправлено: juvaforza, 13:39 24-05-2008
Angel_Smerti



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну, помогите же, пожалуйста, кто ни будь, ну ОЧЕНЬ надо!!!
 
Может, в прошлый раз, я неправильно сформулировал вопрос:
При установки игры необходимо, если существует папка с сохранениями от игры - «The Sims 2» в Моих документах, каталог «EA Games», то сначала сделать ее резервную копию в каталоге «EA Games» со всем содержимым под именем «The Sims 2_old».  
 
Желательно:  
Чтобы при деинсталляции с резервной копией папки (The Sims 2_old) ничего делать не надо, а с основной папкой (The Sims 2) на выбор: удалить папку со всем содержимым или оставить, как есть и не деинсталлировать ее.
 
Полный путь в Inno Setup к этой папке: {userdocs}\EA Games\The Sims 2
Путь в Inno Setup к резервной копии этой папки: {userdocs}\EA Games\The Sims 2_old
 
Подскажите, пожалуйста, как мне это сделать с помощью кода, хотя бы как сделать резервную копию папки «The Sims 2». Из-за этого резервного копирования не могу доделать инсталлятор.  

Всего записей: 115 | Зарегистр. 03-08-2003 | Отправлено: 22:24 03-01-2008
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Angel_Smerti
Я бы сделал так.
P.S.: на мой взгляд, чисто нубовское решение, но умнее ничего не придумал. Потому что нуб.

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 23:00 03-01-2008
Angel_Smerti



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iTASmania_Inc
СПАСИБО ЗА СКРИПТ!!! Он подошел, но возникла еще одна проблема, как совместить этот скрипт со скином Corona Skin?
 
Заранее спасибо за помощь.

Всего записей: 115 | Зарегистр. 03-08-2003 | Отправлено: 00:40 04-01-2008
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Angel_Smerti
Скорее всего, повторяется CurUninstallStepChanged, собственно в моём куске и в скрипте "Corona_kernel.iss". Не исключены и другие ошибки, поэтому лучше полностью слей свой скрипт (если не коммерческая тайна куда-нить, а я уже посмотрю.

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 00:57 04-01-2008
Angel_Smerti



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iTASmania_Inc
Да какая тайна вот, пожалуйста!!!
Спасибо заранее, за помощь.

Всего записей: 115 | Зарегистр. 03-08-2003 | Отправлено: 02:12 04-01-2008
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Angel_Smerti
Замени у себя Corona_kernel.iss и всё должно скомпилиться.
http://www.rapidshare.ru/525410
 
P.S.: а зачем указывать в секции [Files] каждый файл отдельно? Не легче ли использовать Имя_папки\* и флаги recursesubdirs и createallsubdirs?

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 02:37 04-01-2008
fantasy73

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

Всего записей: 1 | Зарегистр. 04-01-2008 | Отправлено: 10:06 04-01-2008
JawsIk



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как оказалось всё гораздо проще (по моему вопросу). Добавил в скрипт так:
 
[UninstallDelete]
Type: filesandordirs; Name: {app}\*.*
 
и теперь всё затирается подчистую, как мне и было нужно.
 
p.s. у меня стоит ispack 5.2.2 (ну вдруг раньше было не так)

Всего записей: 61 | Зарегистр. 15-01-2006 | Отправлено: 14:57 04-01-2008
Angel_Smerti



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iTASmania_Inc - СПАСИБО БОЛЬШОЕ все подошло!!!
А насчет секции [Files] не все так просто: в предыдущей инсталляшке были куски кода, где было необходимо переименовывать большое количество похожих файлов, а этот код остался по наследству не переделывать же его. Собираю продолжение этой игры, и в это продолжение войдет как раз те куски кода, в которых файлы придется переименовывать, правда инсталляшка будет исправлена и дополнена.

Всего записей: 115 | Зарегистр. 03-08-2003 | Отправлено: 18:38 04-01-2008
RusDiego

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
С наступающим Рождеством!
 
Я не гуру в Inno Setup и Pascal, но немного разбираюсь в скриптах, однако ничего не получается, а нужно вот что:
 
Есть 4 мода к игре.
1) Заменяет игровой шрифт на более читабельный (_gui.p01).
2) Заменяет игровой шрифт на более компактный для экономи памяти (Gothic3.ttf) .
3) Пакет квестов - добавляет квесты, который содержит (_compiledimage.p02).
4) Убирает неприятный эффект бликов солнца на камере который тоже содержит (_compiledimage.p02).
 
Возможно ли сделать так?
1) Если выбран 1й мод, то в {app}Gothic3.ttf переименовался в Gothic3.ttf.bak
2) Если выбран 2й мод, то в {app}Gothic3.ttf переименовался в Gothic3.ttf.bak и туда скопировался новй Gothic.ttf  
3) Если выбран 3й мод, то в {app}\Data устанавливался _compiledimage.p02 от пакета квестов.
4) Если выбран 3й и моды, то в {app}\Data устанавливался _compiledimage.p02 от пакета квестов и _compiledimage.p02 от антиблика, но под именем _compiledimage.p03
А при деинсталяции все эти файлы удалялись, а Gothic3.ttf.bak переименовывался в Gothic3.ttf
И если возможно то подскажите пожалуйста как это сделать.
 
Всего доброго.
Сергей.

Всего записей: 15 | Зарегистр. 03-11-2005 | Отправлено: 11:25 05-01-2008
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Corona Skin (445 Кб в архиве) - настраивать скрипт на этапе сборки теперь удобнее.
 
Все параметры прописываются в начале скрипта, стало проще указывать системные требования.
Новый ключ: Requirements - включает проверку минимальных системных требований.
Новый ключ: EnableSplash - включает справку/скриншот, нужен файл Splash.bmp и/или Splash.txt.
Новый ключ: MediaPlayer - его наличие включает проигрыватель, а значение задаёт имя папки для плейлиста.
Новый ключ: PerfectProgressBar - дополняет прогрессбар, и задаёт шаг подсчёта объёма распакованных файлов.

Всего записей: 742 | Зарегистр. 27-09-2005 | Отправлено: 13:33 05-01-2008 | Исправлено: Victor_Dobrov, 14:01 05-01-2008
msatmb



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Собственно такой вопросик. На компьютере на который происходит инсталяция продукта необходимо проверить наличие некой программы не связанной с устанавливаемым продуктом. В случае если данная программа установлена на компьютере, то необходимо ее запустить после окончания инсталляции, если данной программы нет, то инсталляция проходит дальше без запуска существующей программы. Как такое реализовать?

Всего записей: 178 | Зарегистр. 15-04-2007 | Отправлено: 18:08 05-01-2008
Vitalliano

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
Поздравляю всех с наступившим Новым годом
 
Ребята, помогите пожалуйста совместить два скрипта, установка как у 1С (PREY, Quake 4,...).
 
Вот первый скрипт:
 
const
  BACKGROUND=6;
  TIMER=5;
 
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');
    isxbb_AddImage(ExpandConstant('{src}')+'\1.jpg',BACKGROUND);
    isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
end;
end;
 
procedure CurStepChanged(CurStep: TSetupStep);
begin
 if CurStep=ssInstall
then
 begin
isxbb_AddImage(ExpandConstant('{src}')+'\2.jpg',BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant('{src}')+'\3.jpg',BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant('{src}')+'\4.jpg',BACKGROUND or TIMER);
isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
isxbb_StartTimer(3,BACKGROUND)
end
 else if CurStep=ssPostInstall then  
   isxbb_KillTimer(BACKGROUND);
end;
 
вот второй скрипт:
 
procedure CurPageChanged(CurPageID: Integer);
var
  pfunc: LongWord;
  Width, Height: Integer;
begin
if CurPageID=wpInstalling
then
 
 begin
  WizardForm.MainPanel.Visible:=False;
  WizardForm.Bevel1.Visible:=True;
  WizardForm.Bevel1.Width:=WizardForm.Width;
  WizardForm.Bevel1.Left:=ScaleX(0);
  WizardForm.Bevel1.Top:=ScaleY(101);
  WizardForm.Width:=ScaleX(502);{395}
  WizardForm.Height:=ScaleY(180);
 
  WizardForm.Left:=ScaleX(MainForm.Left+20);
  WizardForm.Top:=ScaleY(MainForm.Height-190);
 
  WizardForm.InnerNotebook.Left:=ScaleX(40);{10}
  WizardForm.InnerNotebook.Top:=ScaleY(10);
  WizardForm.InnerNotebook.Width:=ScaleX(415);{370}
  WizardForm.InnerNotebook.Height:=ScaleY(75);
 
  WizardForm.StatusLabel.Left:=ScaleX(0);
  WizardForm.StatusLabel.Top:=ScaleY(10);
  WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
 
  WizardForm.FileNameLabel.Left:=ScaleX(0);
  WizardForm.FileNameLabel.Top:=ScaleY(25);
  WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width;
 
  WizardForm.ProgressGauge.Top:=ScaleY(50);
  WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
 
  WizardForm.CancelButton.BringToFront;
  WizardForm.CancelButton.Left:=ScaleX(405);
  WizardForm.CancelButton.Top:=ScaleY(115);
 end
 
 if CurPageID=wpFinished then
 begin
 
  WizardForm.Width:=502;
  WizardForm.Height:=392;
  WizardForm.Position:=poScreenCenter;
end;
 
Заранее благодарю!!!

Всего записей: 89 | Зарегистр. 04-12-2007 | Отправлено: 18:21 05-01-2008
KurtWagner



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как мне сделать как на картинке! Типа Обновить DirectX.... Помогите люди добрые! http://ipicture.ru/uploads/080105/rFTg4QszZm.jpg

Всего записей: 90 | Зарегистр. 02-01-2008 | Отправлено: 22:47 05-01-2008
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
msatmb: Для запуска файла после установки добавь в секцию [Code] эти строки:
 
Procedure CurStepChanged(CurStep: TSetupStep); var MyFile: String; errorCode: Integer;
Begin
    if
CurStep = ssDone then begin
    MyFile:= ExpandConstant('{pf}\My Program\My Program.exe') // Ваша программа
    if FileExists(MyFile) then ShellExec('', MyFile, '', '', sw_Show, ewNoWait, errorCode); end;
End;
 
KurtWagner: Категории на странице дополнительных задач: (в ISTool - описание группы)
 
[Setup]
AppName=AdditionalTasks
AppVerName=AdditionalTasks
DefaultDirName={pf}\AdditionalTasks
 
[Tasks]
Name: UnInstallIcon; Description: Создать ярлык деинсталлятора; GroupDescription: {cm:AdditionalIcons}
Name: DirectX; Description: Обновить DirectX; GroupDescription: Системные задачи:
 
[Icons]
Name: {group}\{cm:UninstallProgram,AdditionalTasks}; Filename: {uninstallexe}; Tasks: UnInstallIcon
 
[Run]
Filename: {src}\DXSetup.exe; Parameters: /SILENT; Flags: skipifdoesntexist; StatusMsg: Устанавливается DirectX; Tasks: DirectX
 
для Всех: Corona Skin - доработана UpdateButtons, улучшено управление с клавиатуры, исправлен баг с AutoRunSetup.

Всего записей: 742 | Зарегистр. 27-09-2005 | Отправлено: 01:27 06-01-2008 | Исправлено: Victor_Dobrov, 07:10 06-01-2008
MISHANCHYK

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста как пользоваться Inno Setup Unpacker. Скачал пытался запустить, но мелькнет командная строка и всё. Как быть?
Заранее спасибо!

Всего записей: 751 | Зарегистр. 04-12-2007 | Отправлено: 06:13 06-01-2008
geranik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MISHANCHYK
innounp.exe setup.exe -x -m
 
<адрес распаковщика> <адрес установщика> -и параметры.
Тут все в текущей папке.

Всего записей: 33 | Зарегистр. 26-11-2007 | Отправлено: 11:26 06-01-2008
msatmb



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_Dobrov
Спасибо. Все прекрасно работает. Я правда тоже сделал, но более нубско
[Run]
Filename: "{pf}\My Program\My Program.exe"; Flags: nowait skipifdoesntexist skipifsilent

Всего записей: 178 | Зарегистр. 15-04-2007 | Отправлено: 19:14 06-01-2008
KurtWagner



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ау!!!!!!!!!!!!!!!!! Про мя шо ль забыли?
 
Добавлено:
Упс извиняюсь! Просмотрел!
 
Добавлено:
Прочел и опробовал с  Inno Setup Scripting v5.1 "ПОЛНЫЙ РЕЗЕРВ" со скриптом  
 
 
[Tasks]
Name: src; Description: "Backup"
 
[Files]
Source: "C:\util\*"; DestDir: {app}; BeforeInstall: CreateBackup; Flags: ignoreversion recursesubdirs createallsubdirs
 
[Code]
function MoveFile(const srcFile, destFile: PChar): Integer;
external 'MoveFileA@kernel32.dll stdcall';
 
procedure CreateBackup;
var
srcFile, destFile: string;
basePath, shortPath: string;
begin
if IsTaskSelected('src') then
begin
  basePath := ExpandConstant('{app}');
    srcFile := ExpandConstant(CurrentFileName);
    shortPath := srcFile;
   StringChangeEx(shortPath, basePath, '', True);
   destFile := ExpandConstant('{app}\Backup') + shortPath;
 ForceDirectories(ExtractFilePath(destFile));
 MoveFile(PChar(srcFile), PChar(destFile));
end;
end;
 
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
 if CurUninstallStep = usPostUninstall then
begin
  MoveDir(ExpandConstant('{app}\Backup\'), ExpandConstant('{app}'));
  RemoveDir(ExpandConstant('{app}\Backup\'));
end;
end;
 
 
 
 
 
 
скрипт рабочий! но мне нужен такой чтоб после удаления "обновы" востановилися весь резерв! как это сделать? этот скрипт перемешает в определеную папку оригинал и все! после удаления они так и остаються в этой папке! ПОМОГИТЕ ПЛИЗ....................... Заранее спасибо!
 
Добавлено:
Поздравляю всех с наступившим Новым годом!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 
 
Как сделать: шоб. инсталлер! зарег. автоматический .reg файл без согласия пользователя! Читал на ет форуме недавно что реал. сделать это писали скрипт но не полный! если можно поподробнее! с уважением Веталь........ (Виталий)

Всего записей: 90 | Зарегистр. 02-01-2008 | Отправлено: 19:16 06-01-2008
geranik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
[Run]
Filename: "{win}\regedit.exe"; parameters: "/s {app}\file.reg"; Flags: waituntilterminated  shellexec
[_EndOfScript]

Всего записей: 33 | Зарегистр. 26-11-2007 | Отправлено: 11:32 07-01-2008
   

Страницы: 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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru