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

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

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

Widok (12-04-2010 11:44): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154

   

Widok



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

Это мощное бесплатное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта, но генерит на 200-300 кб больший инсталятор. На данный момент он конкурирует и даже превосходит многие коммерческие установщики по функциональности и стабильности.
 
Последний стабильный  релиз: 5.3.9 [10.04.2010]
Последний стабильный Unicode релиз: 5.3.9 [10.04.2010]
Что нового? | Все сборки
 
Inno Setup Compiler 5.3.8 build 100322 Final - расширенная версия от ResTools (зеркало)  
Inno ISCmplr Setup 5.3.8 build 100323
Добавляет списку компонентов возможность сворачивать дочерние элементы. Содержит более удобный редактор, кроме того, компилятор имеет множество других возможностей и новых функций. На сайте автора также есть дополнительные библиотеки.
 
Русификатор версии 5.3.9 от vadimsva
 
Русская справка к версии 5.0.x, автор перевода BagIra (зеркало) | cкачать в .chm формате
 
 

Документация, FAQ, и различные примеры для Inno Setup - Здесь можно найти различную документацию, примеры и т.д.
 
Дополнительные библиотеки для Inno Setup - Corona Skin, InnoTools Downloader, коллекция DLL файлов, распаковка архивов 7-zip и FreeArc и т.д.
 
Дополнительные утилиты для Inno Setup - сюда входят различные распаковщики, надстройки над Inno Setup, различные генераторы скриптов, утилита объединения скриптов и т.д.
 

Родственные темы:

 
Inno Setup плюс внешние упаковщики - обсуждение FreeArc+Inno, Precomp+Inno, 7zip+Inno и Inno+остальные внешние упаковщики.
 
Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия - обсуждение того, какими утилитами/способами лучше сжимать, чтобы получить как можно меньший размер инсталятора.
 

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

 
Перед тем, как задать вопрос: загрузите "версию для печати" (ссылка справа вверху, над номерами страниц) и попробуйте поискать средствами браузера (ctrl+F). Большинство типовых задач уже решались, причем неоднократно!
 
ВНИМАНИЕ!

Текст всех программ обязательно заключайте в теги [code][/code].
Большие тексты (более 10 строк) обязательно прячутся в [more]ВАШ ТЕКСТ и/или Ваш КОД[/more]

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 11:52 25-12-2009 | Исправлено: A19EXXX, 22:58 10-04-2010
m0nkrus



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Интересная информация:
 
Я тут создавал инсталлер по добавлению в программу дополнительных языковых пакетов. Если точнее, то в инсталлер включено 8 языковых пакетов с возможностью выбора тех, которые хочешь установить. Так вот, я обнаружил одну весьма странную особенность упаковки. Если в секции [Files] код располагается таким образом:

Код:
Source: c:\English\Locales\*; DestDir: {app}; Check: EngLng; Flags: ignoreversion recursesubdirs createallsubdirs
Source: c:\English\PS\*; DestDir: {cf}\PS\Help\en_US; Check: EngLng; Flags: ignoreversion recursesubdirs createallsubdirs
 
Source: c:\German\Locales\*; DestDir: {app}; Check: GerLng; Flags: ignoreversion recursesubdirs createallsubdirs
Source: c:\German\PS\*; DestDir: {cf}\PS\Help\de_DE; Check: GerLng; Flags: ignoreversion recursesubdirs createallsubdirs
 
...

...то размер итогового инсталлера получается 145Мб. А если так:

Код:
Source: c:\English\Locales\*; DestDir: {app}; Check: EngLng; Flags: ignoreversion recursesubdirs createallsubdirs
Source: c:\German\Locales\*; DestDir: {app}; Check: GerLng; Flags: ignoreversion recursesubdirs createallsubdirs
...
 
Source: c:\English\PS\*; DestDir: {cf}\PS\Help\en_US; Check: EngLng; Flags: ignoreversion recursesubdirs createallsubdirs
Source: c:\German\PS\*; DestDir: {cf}\PS\Help\de_DE; Check: GerLng; Flags: ignoreversion recursesubdirs createallsubdirs
...

...то размер инсталлера уменьшается в половину и составляет 74Мб.
 
Могу предположить, что по какой-то непонятной причине при таком расположении строк при компиляции одинаковые файлы (например скрины в файлах справки) не дублируются а кладутся в единственном экземпляре и снабжаются перекрестными ссылками. Хотя декомпиллер Inno Setup Unpacker показывает весь список файлов и распакованное содержимое 145-метрового инсталлера равно по весу содержимому 74-метрового.
 
Что интересно, для инсталлера, устанавливающего 2 языка эта техника существенного уменьшения размера не дала (при весе инсталлера в 30Мб выигрыш составил 60Кб), а для инсталлера на 8 языков, как видите, сокращение размера выходного файла колоссальное!
 
Надеюсь, кому-нибудь эта инфа поможет существенно снизить размер инсталлера.

Всего записей: 11375 | Зарегистр. 25-07-2001 | Отправлено: 09:21 13-01-2010 | Исправлено: m0nkrus, 12:08 13-01-2010
YURSHAT



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
m0nkrus
Можно узнать размер этих папок (каждой)

----------
Если я знаю, что знаю мало, я добьюсь того, чтобы знать больше... В.И. Ленин
Krinkels.org - сжатие данных и создание инсталляторов

Всего записей: 855 | Зарегистр. 07-11-2009 | Отправлено: 09:25 13-01-2010
m0nkrus



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YURSHAT
..\English\Locales - 2 101 747 байт
..\German\Locales - 4 733 263 байта
..\English\PS - 28 810 297 байт
..\German\PS - 30 352 664 байта
 
Для всех языков размеры приводить особого смысла не вижу. Думаю из этой иллюстрации порядок размеров папок для прочих языков и так понятен.
 
Компрессия использовалась lzma/ultra.

Всего записей: 11375 | Зарегистр. 25-07-2001 | Отправлено: 09:33 13-01-2010 | Исправлено: m0nkrus, 09:35 13-01-2010
YURSHAT



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
m0nkrus
Ну я так и предполагал. Я думаю лучшая компрессия достигнута потому, что меньшие по-размеру файлы идут вначале

----------
Если я знаю, что знаю мало, я добьюсь того, чтобы знать больше... В.И. Ленин
Krinkels.org - сжатие данных и создание инсталляторов

Всего записей: 855 | Зарегистр. 07-11-2009 | Отправлено: 10:45 13-01-2010
m0nkrus



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YURSHAT
Думаю, ты заблуждаешься. Папка PS на 1/3 веса состоит из маленьких HTML-ок, а на 2/3 из картинок. И потом, я сейчас специально перекомпилировал инсталлер, поставив вперед папки PS, а Locales в конец - результат не изменился. На выходе все те же 74Мб.

Всего записей: 11375 | Зарегистр. 25-07-2001 | Отправлено: 11:17 13-01-2010
stydik



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
 
Подскажите пожалуйста как запретить в установку (у меня русификатор) в другую папку? Только в указанную ?
 
Спасибо

Всего записей: 1510 | Зарегистр. 03-03-2008 | Отправлено: 12:00 13-01-2010
m0nkrus



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

Код:
[Setup]
DisableDirPage=yes

Всего записей: 11375 | Зарегистр. 25-07-2001 | Отправлено: 12:02 13-01-2010
noiseless

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
stydik
Если нужно видеть путь установки, но запретить его изменение, то вот (добавить в секцию CODE):

Код:
procedure CurPageChanged(CurPageID: Integer);
begin
  If CurPageID=wpSelectDir then
    begin
      wizardform.SelectDirBrowseLabel.caption:='Вы не сможете изменить место расположение папки. Просто нажмите на кнопку «Далее».';
      wizardform.diredit.enabled:=false;
      wizardform.DirBrowseButton.enabled:=false;
    end;
end;

Всего записей: 182 | Зарегистр. 06-02-2006 | Отправлено: 12:52 13-01-2010 | Исправлено: noiseless, 12:53 13-01-2010
ZanyGamer



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YURSHAT
этот работает, только почему-то на первой и последней страницах нет ссылки. Я когда запустил смотрел на первой, поэтому написал что не работает, а так эта ссылка даже в моём скрипте отображается =)
 

Цитата:
А что мешает ее изменить???  

Знал бы как, изменил бы
 
Вот ещё с одной проблемкой столкнулся. Почему-то не работает запуск программы после установки, хотя всё указано как в прототиповском скрипте.
 
Вот скрипт
 
и когда ставлю Checked:= true в RunProgram:= TCheckBox.Create(WizardForm); появляется дефолтная панелька запуска

Всего записей: 17 | Зарегистр. 10-01-2010 | Отправлено: 14:15 13-01-2010 | Исправлено: ZanyGamer, 14:18 13-01-2010
Unc1e

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
m0nkrus, попробуй еще поколдовать с флагами sortfilesbyextension и sortfilesbyname в секции [Files]. Компрессия я так понимаю непрерывная (solid)?

Всего записей: 434 | Зарегистр. 11-06-2007 | Отправлено: 14:21 13-01-2010
SotM



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
m0nkrus
Я думаю, что на размер инсталята как раз повлиял порядок файлов/папок.

Всего записей: 965 | Зарегистр. 28-11-2006 | Отправлено: 14:28 13-01-2010
Shegorat



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

Цитата:
Почему-то не работает запуск программы после установки, хотя всё указано как в прототиповском скрипте.  

А где у тебя эти строчки

Код:
procedure DeinitializeSetup();
begin
  ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
  UnloadSkin();
 if (WizardForm.CurPageID=wpFinished) and (RunProgram.Checked) then
    Exec(ExpandConstant('{app}\dirt2_game.exe'), '', '', SW_SHOWNORMAL, ewNoWait, ResultCode); //Запускает файл, если на последней странице выбран чекбокс;


Цитата:
когда ставлю Checked:= true в RunProgram:= TCheckBox.Create(WizardForm); появляется дефолтная панелька запуска  

Убери эту строчку

Код:
[Run]  
Filename: "{app}\Frozen Throne.exe"; Check: Run; Flags: nowait postinstall skipifsilent  

Всего записей: 695 | Зарегистр. 09-06-2009 | Отправлено: 14:29 13-01-2010
m0nkrus



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

Цитата:
m0nkrus, попробуй еще поколдовать с флагами sortfilesbyextension и sortfilesbyname в секции [Files]

Спасибо. посмотрю чуть позже.

Цитата:
Компрессия я так понимаю непрерывная (solid)?

А вот этого не знаю. Где сие задается?
 
SotM

Цитата:
Я думаю, что на размер инсталята как раз повлиял порядок файлов/папок.

Вообще-то, это очевидно. Ведь именно так, меняя порядок, я и добился уменьшения размера.

Всего записей: 11375 | Зарегистр. 25-07-2001 | Отправлено: 14:41 13-01-2010
Unc1e

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
m0nkrus
Цитата:
А вот этого не знаю. Где сие задается?
В секции [Setup] параметр SolidCompression=yes

Всего записей: 434 | Зарегистр. 11-06-2007 | Отправлено: 14:50 13-01-2010
kostyamks



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skeptik_vdm
Цитата:
Добавь вот эту строчку DeleteFile(ExpandConstant('{app}\DATA.7z'));
 
Спасибо.
 
А почему после деинсталяции программы распакованные файлы не удаляются.

Всего записей: 284 | Зарегистр. 12-09-2009 | Отправлено: 15:36 13-01-2010
m0nkrus



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Unc1e
Ага, такое есть.

Всего записей: 11375 | Зарегистр. 25-07-2001 | Отправлено: 15:38 13-01-2010
stydik



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
m0nkrus
noiseless
 
Спасибо. Больше понравился скрипт noiseless
 
А всё же мне кто-то подскажет по этому вопросу ???

Всего записей: 1510 | Зарегистр. 03-03-2008 | Отправлено: 15:59 13-01-2010
m0nkrus



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Unc1e
Флаги sortfilesbyextension и sortfilesbyname, увы, существенных результатов не дали. Да и те, что дали, говорят не в пользу этих флагов - пусть незначительно, но размер конечного инсталлера увеличился.
 
stydik
Inno Setup - это программа по созданию инсталлеров, а не патчеров. Для твоих целей подойдет скорее программа PatchWise Free.

Всего записей: 11375 | Зарегистр. 25-07-2001 | Отправлено: 16:11 13-01-2010
skeptik_vdm



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kostyamks
Добавь вот это в свой скрипт
[UninstallDelete]
Type: filesandordirs; Name: {app}

Всего записей: 316 | Зарегистр. 10-11-2008 | Отправлено: 16:19 13-01-2010
Vo1T



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

Всего записей: 312 | Зарегистр. 20-08-2008 | Отправлено: 16:34 13-01-2010 | Исправлено: Vo1T, 16:43 13-01-2010
   

Страницы: 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 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru