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

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

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

articlebot (13-10-2013 23:33): продолжение темы - №15
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268

   

batva



crazy administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
Inno Setup часть 14

Предыдущие части
Это мощное бесплатное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта, но генерит на 200-300 кб больший инсталятор. На данный момент он конкурирует и даже превосходит многие коммерческие установщики по функциональности и стабильности.
 
Последние версии:
Inno Setup QuickStart Pack (ansi) 5.5.3 [30.01.2013]
Скачать (1.9 Mb)
Inno Setup QuickStart Pack (unicode) 5.5.3 [30.01.2013]
Скачать (2.2 Mb)
Что нового? | Все сборки
Русский язык для Inno Setup версии 5.5.x от vadimsva [02.06.2012]
Скачать
Русский язык для Inno IDE версии 1.0.0.0078 от vadimsva
Скачать |
 
Расширенная версия от китайских собратьев. Домашняя страница ResTools
Inno Setup Compiler 5.5.0-5.1 build 120808
Скачать (2.98 Mb) | Зеркало (2 Mb) - убраны картинки для уменьшения размера архива
Что нового?
Inno ISCmplr Setup 5.5.1 build 120726
Скачать (1.73 Mb) | Зеркало (1.7 Mb)
Что нового?
Добавляет списку компонентов возможность сворачивать дочерние элементы. Содержит более удобный редактор, кроме того, компилятор имеет множество других возможностей и новых функций. На сайте автора также есть дополнительные библиотеки.
Русский язык для Inno Setup Enhanced (Restools) версии 5.4.x (ansi и unicode) от vadimsva
Скачать
 
Русская справка к версии 5.5.3, автор перевода BagIra, bugron | Chm-версия
 
 

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

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

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

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

Правила топика посвященному Inno Setup  
 
Перед тем, как задать вопрос: Первый вариант: загрузите "версию для печати" (ссылка справа вверху, над номерами страниц) и попробуйте поискать средствами браузера (ctrl+F). Второй вариант: для экономии трафика и для более удобного поиска, скачайте оффлайн версию форума для просмотра в разделе Документация.
Большинство типовых задач уже решались, причем неоднократно!  
Пожалуйста, не захламляйте тему и используйте поиск, этим вы избавите тему от флуда!

Всего записей: 12593 | Зарегистр. 07-01-2001 | Отправлено: 20:48 20-05-2011 | Исправлено: sjwrec, 14:38 08-09-2013
VASYAKRN



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пожалста дайте ЕХЕ версии даних скриптов
 
http://s2.itrash.ru/idb/566a5bccb5917fe723e2b8bccee5d90b/o7.jpg
 
http://lostpic.net/images/d3045429a347c10b2dcffb4a7f58f48d.png

Всего записей: 108 | Зарегистр. 17-10-2010 | Отправлено: 19:21 25-09-2011
vistaw



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VASYAKRN
Если тебе нужны .exe'шники то качай данные игры, которые на скринах инсталлла, а скрипт тебе не кто не даст.

Всего записей: 91 | Зарегистр. 30-12-2010 | Отправлено: 19:37 25-09-2011
VASYAKRN



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

Всего записей: 108 | Зарегистр. 17-10-2010 | Отправлено: 19:42 25-09-2011
Snoopak96

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

Цитата:
Попробую в следующей версии исправить  

Было бы не плохо, только бы оперативку библиотека не ела сильно, в районе так скажем 20 мб - было бы замечательно.
 

Всего записей: 303 | Зарегистр. 30-06-2010 | Отправлено: 19:53 25-09-2011
Despofix



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
если я правильно понял то папку переименовать можно с помощью инно следующим способом:
procedure RenameFolder;
begin
  RenameFile(ExpandConstant('{app}\Name'), ExpandConstant('{app}\NewName'));
end;
 
возникает вопрос как сделать чтобы процедура выполнялась после установки. к примеру при нажатии на кнопку завершить или же когда прошла распаковка архивов

Всего записей: 278 | Зарегистр. 22-04-2010 | Отправлено: 22:13 25-09-2011
Snoopak96

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Despofix
а зачем отдельную процедуру делать, повесь на кнопку завершить, примерно так будет выглядеть:

Цитата:
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result:=True;
If CurPageID=wpFinished then
RenameFile(ExpandConstant('{app}\Name'), ExpandConstant('{app}\NewName'));
end;  

Всего записей: 303 | Зарегистр. 30-06-2010 | Отправлено: 00:00 26-09-2011
Despofix



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Snoopak96
спасибо. но у сам разобрался.сделал так:
if CurStep=ssPostInstall then begin
RenameFile(ExpandConstant('{app}\\Name'), ExpandConstant('{app}\NewName'))
end;
end;

Всего записей: 278 | Зарегистр. 22-04-2010 | Отправлено: 00:46 26-09-2011
Sergey_Demchuk



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

Цитата:
Трбуется убить родные меседжбоксы  в начале и в конце работы деинсталлятра.  

Интересует еще вопрос?

Всего записей: 3551 | Зарегистр. 16-12-2002 | Отправлено: 01:43 26-09-2011
YURSHAT



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

Цитата:
Это понятно, но смысл? Трбуется убить родные меседжбоксы  в начале и в конце работы деинсталлятра. ПРисоединяюсь к вопросу Sergey_Demchuk.

Мы с South при создании Андеркавера второго тоже когда-то колдовали над деинсталлятором.  
 
Убрать эти мессаги стандартным способом не получится так как они жестко вшиты в деинсталлятор. Можно сделать по извращенски (как и многое в инно ). Пример:
 

Код:
function InitializeUninstall:boolean;
var
i,ErrorCode:integer;
IsSilent:boolean;
begin
IsSilent:=False;
for i:=1 to ParamCount do
if ParamStr(i)='/silent' then begin
IsSilent:=True;
Break;
end;
if not IsSilent then begin
Result:=False;
ShellExec('',ExpandConstant('{uninstallexe}'),'/silent','',SW_SHOW,ewNoWait,ErrorCode);
end else Result:=True;
end;


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

Всего записей: 855 | Зарегистр. 07-11-2009 | Отправлено: 02:28 26-09-2011
meekrab



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Edison007007
Ты чего это там раздаешь?
Gnom3
Я же тебе показывал как можно сделать это. И сказал где все можно найти.
Можно сделать тот же де инстал и на визарде черз ID. (Но его придутся делать каждый раз отдельно)
Это как вариант.

Всего записей: 256 | Зарегистр. 12-10-2009 | Отправлено: 04:31 26-09-2011 | Исправлено: meekrab, 04:36 26-09-2011
YURSHAT



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

Цитата:
Можно сделать тот же де инстал и на визарде черз ID. (Но его придутся делать каждый раз отдельно)

Это самый оптимальный вариант. Результаты моих давнешних тестов показали, что стандартными средствами сделать, что-то стоящее не получается.
 
Я так понимаю целью убийства сообщений является создание доп. страниц типа "страница приветствия=>страница деинсталляции=>страница завершения деинсталляции". Я как говорил выше уже пытался когда-то проделывать это. То есть, сначала, создавал форму приветсвия, потом уничтожал, потом появлялась форма деинсталляции, а потом снова создавал форму завершения. Скажу, что с эстетической стороны все довольно плачевно, особенно если использовать скины и дллки типа ботвы. Между этими тремя формами получается довольно большой разрыв, что не есть гуд. Да и кода очень много получается.
 
Хотя возможно я тогда не с той стороны подходил к решения этого вопроса но другого способа не предумал, тогда...
 
ЗЫ.meekrab, здарова!

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

Всего записей: 855 | Зарегистр. 07-11-2009 | Отправлено: 05:32 26-09-2011 | Исправлено: YURSHAT, 05:35 26-09-2011
Sergey_Demchuk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
YURSHAT
Ты прав, его и и нету. Я использовал

Код:
 
function InitializeUninstall(): Boolean;
var
  RCode: Integer;
begin
  FileCopy(ExpandConstant('{app}\AC14_IMG-Cover_3636_RJAD.bmp'), ExpandConstant('{tmp}\AC14_IMG-Cover_3636_RJAD.bmp'), False);
  FileCopy(ExpandConstant('{app}\canf.bmp'), ExpandConstant('{tmp}\canf.bmp'), False);
  FileCopy(ExpandConstant('{app}\button.png'), ExpandConstant('{tmp}\button.png'), False);
  FileCopy(ExpandConstant('{app}\botva2.dll'), ExpandConstant('{tmp}\botva2.dll'), False);
  FileCopy(ExpandConstant('{app}\innocallback.dll'), ExpandConstant('{tmp}\innocallback.dll'), False);
  Result := False;
  if not UninstallSilent then
  begin
    Exec(ExpandConstant('{uninstallexe}'), '/SILENT', '', SW_SHOW, ewNoWait, RCode)
    Exit;
  end;
 if CancelCustomUninstall <> mrCancel then Result:=true;
end;
 

я использую ботву. если, поэтому кода пришлось немного пописать, Для формы CancelCustomUninstall. Но в принципе, это можно раз сделать и взять код за стандарт.

Всего записей: 3551 | Зарегистр. 16-12-2002 | Отправлено: 08:35 26-09-2011
ShadowHawk



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ЗНАТОКИ!!!
Извините, что повторюсь - но проблема эта не дает двигаться вперед .
 

Цитата:
 
log1stable  
 
Цитата:ShadowHawk, каталог переименовывается где и как?  
 
 
В моем случае, есть человек, который к программе отношения не имеет, он просто отвечает за эти каталоги 1 2 и 3. Их в общем то много и в зависимости от их сочетания получется НОВАЯ версия. Т.е. сегодня это набор 1 2 и 3 завтра может быть 2 4 9 и т.д.  
В реальности может быть и так что кол-во каталогов может измениться как в плюс так и в минус. Но для простоты ( хотя по мне и так сложно ) ) будем считать что число каталогов не меняется а меняется только название. Причем сам setup.exe этим не занимается. Он должен просто понять что имя сменилось - т.е. и путь к каталогу сменился,  но его в любом случае надо копировать.  
 
К сожалению просто перечислить все возможные каталоги не подходит - название заранее не известно.  
 

 
 
Я подумал, может (как временное решение) ограничить кол-во этих каталогов скажем числом 10. И ввести однотипные названия, типо Dir0, Dir1, ... Dir9. А уже внутри каждого положить отдельную каталог 1 2 или 3. При переименовании будет меняться скажем 3 на 9, но начальные каталоги остануться неизменными, далее в секциях [Components] и [Files] их "связываем":
 
[Types]
  Name: Dir1;    Description: "Dir1";
 
[Components]
   Name: Dir1; Description: Dir1; Types: Dir1
 
[Files]
  Source: {src}\Source\Dir1\*; DestDir: {app}\Dir1; Components: Dir1; Flags: external recursesubdirs createallsubdirs;
 
А в момент запуска проверять если каталог Dir1 существует то компонент показать или же нет.
Но с названиями конечно полная бредятина получается . Может "Посмотреть" название каталога который в данный момент в Dir1 находится (1 2 или 9)??? и изменить в componentslist название?

Всего записей: 28 | Зарегистр. 18-08-2011 | Отправлено: 11:54 26-09-2011
Edison007007



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

Цитата:
Ты чего это там раздаешь?

да в общем ничего секретнного

Всего записей: 376 | Зарегистр. 23-01-2011 | Отправлено: 13:06 26-09-2011
Xom9I4oK



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1) Как совместить (объединить в одну) страницу выбора папки установки (SelectDirPage) с SelectTasksPage?
2) Как сменить курсор в виде буквы I (когда наводишь на текст) и в виде руки когда наводишь на ссылку в странице текста лицензии на нужный мне из указанного файла. Файл с лицензией подгружается так Подробнее.... Нужен реально проверенный способ (желательно не подменяющий системных курсоров), тк непроверенных я сам штук под 10 придумал и не один не сработал... В других местах там где надо у меня работает смена курсора.

Всего записей: 506 | Зарегистр. 01-04-2005 | Отправлено: 17:29 26-09-2011 | Исправлено: Xom9I4oK, 18:23 26-09-2011
log1stable



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Xom9I4oK:
 
1) Объединение страниц
 
2)
Код:
 
procedure InitializeWizard();
begin
    WizardForm.LicenseMemo.Cursor := crHand;
    WizardForm.InfoBeforeMemo.Cursor := crHand;
    WizardForm.InfoAfterMemo.Cursor := crHand;
end;

Всего записей: 146 | Зарегистр. 15-07-2011 | Отправлено: 19:35 26-09-2011 | Исправлено: log1stable, 19:37 26-09-2011
vintage_1



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ISVideo.dll
ISVideo.dll - Это библиотека позволяет запускать МР3 музыку и AVI видео в инсталляторе  
 
Добавлено:
6 новых процедур, 3 для ISMusic (Pause, Play, Stop) и 3 для ISVideo (Pause, Play, Stop).
Поиск установленых кодеков Xvid  
 
Исправлено:
Процедура ISMusicInit
Процедура ISVideoInit
Процедура ISCloseProcess
Версия - 1.1
 
Скачать

Всего записей: 213 | Зарегистр. 03-04-2011 | Отправлено: 20:28 26-09-2011
Xom9I4oK



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

Цитата:
1) Объединение страниц

Спасибо, но Вы не те страницы объединили . Вторая страница это та где из секции [Tasks] инфа берется... Или это просто пример?

Цитата:
2) Код:

Мне надо как раз наоборот. Я же написал сменить стандартные курсоры на те что я из файла буду брать...

Всего записей: 506 | Зарегистр. 01-04-2005 | Отправлено: 20:34 26-09-2011 | Исправлено: Xom9I4oK, 20:45 26-09-2011
Despofix



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

Цитата:
Спасибо, но Вы не те страницы объединили . Вторая страница это та где из секции [Tasks] инфа берется... Или это просто пример?  

это пример

Всего записей: 278 | Зарегистр. 22-04-2010 | Отправлено: 23:14 26-09-2011
meekrab



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YURSHAT
У меня есть идея как сделать. Но нужно скрыть мессагу которую приходиться вызывать.
И есть еще одна идея но она вполне бредовая. Приеду домой попробую написать, по идее должно все работать.
У меня есть готовый вариант с 2мя и 3мя стр. на де инстал. Если интересно могу скинуть готовый вариант.  
Здорова Юр )

Всего записей: 256 | Зарегистр. 12-10-2009 | Отправлено: 15:12 27-09-2011 | Исправлено: meekrab, 15:18 27-09-2011
   

Страницы: 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 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
articlebot (13-10-2013 23:33): продолжение темы - №15


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru