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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
reversecode



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
инсталляционный пакет под инно сетап
там много файлов которые поломаны, хочется вместо того что бы после инсталляции копировать их поверх установленных - запихнуть их сразу в инсталляционный пакет
innounp36 не анпакает code секцию
а хочется просто перепаковать инсталляционный пакет
очень странно что нет простого репакера, разворачивать внутренности .iss к примеру без надобности, он бы остался прежним

Всего записей: 1972 | Зарегистр. 06-03-2008 | Отправлено: 12:28 14-11-2011
THE GUILTY GOD



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56
В моей версии isdone нету ISPackZIP.

Всего записей: 165 | Зарегистр. 24-06-2010 | Отправлено: 14:27 14-11-2011
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
THE GUILTY GOD ISDone 0.6f beta http://rghost.ru/24688401

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 14:42 14-11-2011
BUU



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите в чем проблема, не могу скрыть полностью окно распаковки sfx-zip.exe в inno
 
Вот скрипт
 
[Run]

Цитата:
Filename: {src}\gamedata\bs.exe; Components: Component1; WorkingDir: {src}; Parameters: "-y -o""{app}"""; StatusMsg: Распаковка Blue Shift...; Flags: waituntilterminated

 
Что делать?

Всего записей: 181 | Зарегистр. 15-08-2008 | Отправлено: 10:35 15-11-2011
mikutu

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пишу не большой скрипт, нужно что бы инсталер устанавливался без всяких вопросов, сделал все как в FAQ но на все равно показывается страница с кнопкой установить
Текст скрипта
У меня стоит InnoSetup 5.4.1 и ISTool 5.3.0.1  

Всего записей: 23 | Зарегистр. 07-05-2006 | Отправлено: 12:24 15-11-2011
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mikutu вот можеш скрыть какую тебе нужно страницу установки

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 12:37 15-11-2011 | Исправлено: vint56, 12:38 15-11-2011
Fantasy22



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

Цитата:
 
[Files]  
 Source: Files\iswin7.dll; DestDir: {app}; Attribs: hidden system  
   
 [_code]  
 procedure megalol(Handle:HWND; Left, Top, Right, Bottom : Integer; GDIPLoadMode: boolean); external 'iswin7_add_glass@{app}\iswin7.dll stdcall uninstallonly';  
 procedure megalol_button(Handle:HWND); external 'iswin7_add_button@{app}\iswin7.dll stdcall uninstallonly';  
 procedure megalol_free; external 'iswin7_free@{app}\iswin7.dll stdcall uninstallonly';  
   
 procedure InitializeUninstallProgressForm();  
 begin  
   UninstallProgressForm.Color:=clBlack  
   megalol_button(UninstallProgressForm.CancelButton.Handle);  
   megalol(UninstallProgressForm.Handle, 0, 0, 0, 50, True);  
 end;  
   
 procedure DeinitializeUninstall();  
 begin  
   megalol_free;  
 end;  
   

При использовании этого кода деинсталлятор выдает ошибку
 

 
помогите решить проблемку  
 

Всего записей: 41 | Зарегистр. 24-10-2007 | Отправлено: 15:34 15-11-2011
vint56



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

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 16:06 15-11-2011 | Исправлено: vint56, 16:07 15-11-2011
Raf_SE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ктонить может написать скрипт, который если обнаруживает в устанавливаемой папке, файл с тем же именем и расширением что сейчас должен распаковаться, то сначала проверил CRC32 файла в папке, и если он совпал с тем CRC32 что я задал для этого файла, файл бы не распаковывался?

----------
«Фашисты будущего будут называть себя антифашистами» ©

Всего записей: 1142 | Зарегистр. 06-08-2006 | Отправлено: 21:26 15-11-2011
Snoopak96

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raf_SE
Навряд ли кто возьмётся и скорее это не скрипт будет.

Всего записей: 303 | Зарегистр. 30-06-2010 | Отправлено: 21:40 15-11-2011
mikutu

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

Цитата:
vint56
Спасибо, но мне надо что бы инсталятор после запуска сразу переходил к установке, почитав help я понял что в таком случае не поможет ShouldSkipPage т.к. она не вызывается на этой странице, а DisableReadyPage игнорируется если перед ней не было ни одной страницы.  CurPageChanged с send message тоже не дает эффекта. Может есть еще способы? Конечно я могу запустиь с параметром /silent, но в этом случае мне не нравиться что не выводиться страница WpFinished.  
 
function ShouldSkipPage(PageID: Integer): Boolean;  
The wizard calls this event function to determine whether or not a particular page (specified by PageID) should be shown at all. If you return True, the page will be skipped; if you return False, the page may be shown.
 
Note: This event function isn't called for the wpWelcome, wpPreparing, and wpInstalling pages, nor for pages that Setup has already determined should be skipped (for example, wpSelectComponents in an install containing no components).
 
DisableReadyPage
When Setup is not running silently, this directive is ignored if no other wizard page before the Ready to Install wizard page has been shown yet.
 

Всего записей: 23 | Зарегистр. 07-05-2006 | Отправлено: 04:25 16-11-2011
Gnom3



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

Код:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[*code]
procedure InitializeWizard();
begin
 with WizardForm do SetBounds(-Left*5, -Top*5, Width, Height);
end;
procedure CurPageChanged(CurPageID: Integer);
begin
 PostMessage(WizardForm.NextButton.Handle, 245, 0, 0);
end;
El Sanchez на Ос-зоне както давал пример.

Всего записей: 864 | Зарегистр. 14-11-2010 | Отправлено: 09:12 16-11-2011
mikutu

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gnom3 Спасибо, действительно работает как нужно.

Всего записей: 23 | Зарегистр. 07-05-2006 | Отправлено: 09:55 16-11-2011
Fantasy22



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

Цитата:
 
Fantasy22 пример [?]
 

Выдает туже самую ошибку может это и за Inno Setup 5.4.2
 
 

Всего записей: 41 | Зарегистр. 24-10-2007 | Отправлено: 16:26 16-11-2011
Raf_SE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raf_SE (20:26 15-11-2011)
Цитата:
Ктонить может написать скрипт, который если обнаруживает в устанавливаемой папке, файл с тем же именем и расширением что сейчас должен распаковаться, то сначала проверил CRC32 файла в папке, и если он совпал с тем CRC32 что я задал для этого файла, файл бы не распаковывался?

Snoopak96 (20:40 15-11-2011)
Цитата:
Навряд ли кто возьмётся и скорее это не скрипт будет.

Почему это сложно? Inno умеет проверят контрольные суммы. Есть даже функции:
function GetMD5OfFile(const Filename: String): String;
function GetSHA1OfFile(const Filename: String): String;
Сделать сверку полученной хэш-суммы, с заданной мной, тоже врятли сложно.

----------
«Фашисты будущего будут называть себя антифашистами» ©

Всего записей: 1142 | Зарегистр. 06-08-2006 | Отправлено: 16:31 16-11-2011 | Исправлено: Raf_SE, 16:58 16-11-2011
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fantasy22  
пример скрипт длл http://rghost.ru/30368301
версия компилятора Inno Setup QuickStart Pack (ansi) 5.4.2

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 16:32 16-11-2011
Gnom3



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

Цитата:
Ктонить может написать скрипт, который если обнаруживает в устанавливаемой папке, файл с тем же именем и расширением что сейчас должен распаковаться, то сначала проверил CRC32 файла в папке, и если он совпал с тем CRC32 что я задал для этого файла, файл бы не распаковывался?

Код:
[Files]
Source: {app}\файл.расширение; DestDir: {app}\файл.расширение; Check: md5
 
[code*]
function md5: Boolean;
begin
  case FileExists(ExpandConstant('{app}\файл.расширение')) of  
    True:                                                 // если файл наличиствует
      Result:= not(GetSHA1OfFile(ExpandConstant('{app}\файл.расширение'))='твое значение'); // то запрещаем, если совпадает SHA1O
    false:                                                // если файла нет
      Result:= true;                                   // то просто разрешаем его копировать.
  end;
end;

Както так, это будет выглядеть.

Всего записей: 864 | Зарегистр. 14-11-2010 | Отправлено: 17:24 16-11-2011 | Исправлено: Gnom3, 18:01 16-11-2011
Raf_SE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gnom3
А нельзя ли использовать проверку CRC32, вместо SHA1? Просто CRC32 гораздо быстрее проверяется...
Если проверка CRC32 невозможна, то можно ли вместо хэш-суммы, проверять файл побайтово?
И можно ли это реализовать не через Check, а через BeforeInstall ? К примеру:
Source: {app}\файл.расширение; BeforeInstall: CheckingByte('УКАЗАННОЕ МНОЙ КОЛИЧЕСТВО БАЙТ')
 
P.S.
Собстно такой код нужен для использования с улучшенным деинсталлятором UninsHs, чтобы когда пользователь выбрал в нем "Изменить" или "Восстановить", то не перезаписывались все файлы, а только измененные.

----------
«Фашисты будущего будут называть себя антифашистами» ©

Всего записей: 1142 | Зарегистр. 06-08-2006 | Отправлено: 20:27 16-11-2011 | Исправлено: Raf_SE, 20:29 16-11-2011
Gnom3



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

Цитата:
Собстно такой код нужен для использования с улучшенным деинсталлятором UninsHs, чтобы когда пользователь выбрал в нем "Изменить" или "Восстановить", то не перезаписывались все файлы, а только измененные.

Може, проще так, тогда:

Код:
[Files]
 Source: {app}\файл.расширение; DestDir: {app}\файл.расширение; Flags: comparetimestamp

comparetimestamp - сравнивается время создания, при наличии в папке файла, и копируется только если подаваемый файл новее.
 

Цитата:
Вы можете сделать чтобы проверка была побайтовой?  

Я пока не смогу.

Всего записей: 864 | Зарегистр. 14-11-2010 | Отправлено: 20:44 16-11-2011 | Исправлено: Gnom3, 21:25 16-11-2011
Raf_SE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gnom3 (19:44 16-11-2011)
Цитата:
comparetimestamp - сравнивается время создания, при наличии в папке файла, и копируется только если подаваемый файл новее.

Если бы сравнивалось время изменения, тогда бы можно было использовать, а так, слишком не надежно.
 
Gnom3 (19:44 16-11-2011)
Цитата:
я нашел, также, только GetMD5OfFile и GetSHA1OfFile, использовать можно любую, не меняя кода.

Они оба очень ресурсозатратны. Если файл сжат zip'ом, то разница между его распаковкой, и проверкой его MD5\SHA1, не очень существенна.
 
Вы можете сделать чтобы проверка была побайтовой? Это был бы идеальный вариант, максимально быстрый, и не зависящий от сбоев настроек времени\часовых поясов.
Вроде бы для этого есть спец. функция: function FileSize(const Name: String; var Size: Integer): Boolean;

----------
«Фашисты будущего будут называть себя антифашистами» ©

Всего записей: 1142 | Зарегистр. 06-08-2006 | Отправлено: 21:17 16-11-2011 | Исправлено: Raf_SE, 21:44 16-11-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