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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inno Setup
 
 

Предыдущие части
Это мощное бесплатное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта, но генерит на 200-300 кб больший инсталятор. На данный момент он конкурирует и даже превосходит многие коммерческие установщики по функциональности и стабильности.
All version | Исходники проекта
 
Последние версии:
Inno Setup QuickStart Pack (Unicode) 6.1.2 [15.11.2020]
Скачать (4.23 Mb)
 
Inno Setup 6.2.2 [15.02.2023]
Скачать (4.50 Mb)
 
Что нового? | Что нового v.6x?  
 
Русский язык для Inno Setup v6.x
Скачать
 
Русский язык для Inno Setup v5.x
Скачать
 
Русская справка к версии - 6.0.0 beta | 5.6.1 - Зеркало
 
Последняя версия с поддержкой Windows 95 - 5.1.7
 
Последняя версия с поддержкой Windows 98/ME/NT4 - 5.4.3 ANSI
 
Последняя версия с поддержкой Windows 2000/XP/2003 - 5.6.1 (ANSI, Unicode)
 

Расширенная версия от китайских собратьев. Офсайт
Inno Setup Compiler 5.5.0-5.2 build 121216
Скачать (2.98 Mb) |Скачать (2.98 Mb) - зеркало GoogleDrive | Что нового
 
Inno ISCmplr Setup 5.5.1 build 120726
Скачать (1.73 Mb) | Что нового
 
Добавляет списку компонентов возможность сворачивать дочерние элементы. Содержит более удобный редактор, кроме того, компилятор имеет множество других возможностей и новых функций. На сайте автора также есть дополнительные библиотеки.
 
Русский язык для Inno Setup Enhanced (Restools) версии 5.4.x (ansi и unicode) от vadimsva
Скачать
 


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

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

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

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

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:29 13-10-2013 | Исправлено: Komandor, 10:55 21-01-2024
brduakhTMP



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MihailM
а возможно ли как-то в код встроить к примеру несколько ключей?
---
разобрался... получилось с несколькими... правда еще бы как-то добавить, список забаненных ключей и уведомление... да и шифрование бы файлов... вот только не знаю как

Всего записей: 6856 | Зарегистр. 20-04-2016 | Отправлено: 18:17 27-07-2017 | Исправлено: brduakhTMP, 18:30 27-07-2017
GRom_V

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
подскажите плз делаю так:  
DefaultDirName={reg:HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\1EAC1D02-C6AC-4FA6-9A44-96258C37C812ru_is1,InstallLocation|C:\Games\World_of_Tanks
 
а при установке указывается C:\Games\World_of_Tanks, хотя вот импорт из ветки реестра:
 
Windows Registry Editor Version 5.00
 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812ru}_is1]
"InstallLocation"="F:\\Games\\World_of_Tanks\\"
 
Что не так?
 

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 09:07 01-08-2017
MihailM



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
brduakhTMP
Цитата:
да и шифрование бы файлов...

С этим я уже не знаю .. И вообще есть ли в природе это ввиде dll-ки или еще как ..  
Сам с таким не сталкивался .
 
 
 
Добавлено:
GRom_V, мож мой код попробовать, как раз на пред. странице пример .
А ошибка может из концовки , ты же там явно указываешь путь .. Может из за этого ?
Попробуй удалить, концовку с путем.Ни разу такой код не использовал , тонкости его не знаю..  
p.s. как вариант ..

Всего записей: 2498 | Зарегистр. 19-10-2003 | Отправлено: 12:22 01-08-2017
GRom V

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

Цитата:
GRom_V, мож мой код попробовать, как раз на пред. странице пример .
А ошибка может из концовки , ты же там явно указываешь путь .. Может из за этого ?
Попробуй удалить, концовку с путем.Ни разу такой код не использовал , тонкости его не знаю..  
p.s. как вариант ..  

 
Нашел другой путь... а в первом варианте должно быть так, если кому надо...
DefaultDirName={reg:HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU%7d_is1,InstallLocation|C:\games\World of Tanks}

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 15:43 01-08-2017
GRom V

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте. После деинсталляции пытаюсь восстановить папки\файлы:
 
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  CopyDir(ExpandConstant('{app}\_backup_\res_mods'),ExpandConstant('{app}'));
  CopyDir(ExpandConstant('{app}\_backup_\mods'),ExpandConstant('{app}'));
  DelTree(ExpandConstant('{app}\_backup_')+'', True, True, True); - Вот тут удаляется не только папка _backup_ но и восстановленные из нее  
 
CopyDir(ExpandConstant('{app}\_backup_\res_mods'),ExpandConstant('{app}'));
  CopyDir(ExpandConstant('{app}\_backup_\mods'),ExpandConstant('{app}'));  
Почему удаляются скопированные из нее папки\файлы?

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 02:50 05-08-2017 | Исправлено: GRom V, 07:01 05-08-2017
GRom V

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Все понял...
сделал так:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usPostUninstall then
begin
  MoveDir(ExpandConstant('{app}\_backup_\res_mods'), ExpandConstant('{app}'));
  MoveDir(ExpandConstant('{app}\_backup_\mods'), ExpandConstant('{app}'));
  DelTree(ExpandConstant('{app}\_backup_')+'', True, True, True);
end;
end;
 
Появился вопрос: как сделать чтоб сообщение о удачной деинсталляции появлялось только после удаления папки _backup_, а то заметил что появляется оно раньше и если я сразу нажму кнопку ОК, то папка не удалится т.к. деинсталлятор сразу закрывается.
???

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 06:03 05-08-2017 | Исправлено: GRom V, 14:36 05-08-2017
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GRom V
а нельзя на шаге usUninstall удалить?

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 20:32 05-08-2017 | Исправлено: ultimo, 20:36 05-08-2017
GRom V

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

Цитата:
а нельзя на шаге usUninstall удалить?

Нет, т.к. сначало нужно деинсталлировать приложение, а потом (в конце) вернуть файлы с _backup_

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 00:50 06-08-2017
ultimo



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

Цитата:
как сделать чтоб сообщение о удачной деинсталляции появлялось только после удаления папки _backup_, а то заметил что появляется оно раньше и если я сразу нажму кнопку ОК, то папка не удалится т.к. деинсталлятор сразу закрывается

Проверил, сообщение появляется на шаге usPostUninstall после выполенния процедур пользователя (MoveDir и DelTree в данном случае), но никак не ранее. Проблем не должно быть.
 
Кстати, функция MoveDir очень опасная, т.к. если исходная папка не существует, файлы будут перемещаться прямо из папки Windows, так что следует еще добавить проверку на наличие исходной папки - DirExists

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 14:00 06-08-2017 | Исправлено: ultimo, 14:02 06-08-2017
LeonOfficial

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

Всего записей: 3 | Зарегистр. 08-08-2017 | Отправлено: 11:41 09-08-2017
veqo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может кто знает, как ей вырезать данные об установщике в реестре?
То есть в любой установке, в реестре, вместе с данными устанавливаемой программы прописывается инфа типа "Inno Setup: setup version" и тому подобное.

Всего записей: 97 | Зарегистр. 05-12-2012 | Отправлено: 16:13 09-08-2017
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LeonOfficial
для компиляции кода требуется Inno Setup от Restools (расширенная версия).
 
veqo
что значит вырезать? Не прописывать что-ли?
 

Код:
 
[Setup]
CreateUninstallRegKey=False
 

Данные об установке не будут прописываться в реестре, но и в "Программы и компоненты" не будет высвечиваться программа, но удалить ее можно будет через unins000.exe из папки с программой.

Код:
 
[Setup]
Uninstallable=False
 

То же самое, что и CreateUninstallRegKey, только удалить уже не получится, т.к. информация об удалении не сохраняется (unins000.exe отсутствует)

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 14:31 10-08-2017
LeonOfficial

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ultimo, вот, пожалуйста: http://s019.radikal.ru/i629/1708/d6/fa26cbcf2578.jpg
 
 
Добавлено:
ultimo, установил от них расширенную версию, вроде скомпилировалось, но никаких изображений в процесс установки не было...

Всего записей: 3 | Зарегистр. 08-08-2017 | Отправлено: 15:22 10-08-2017
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LeonOfficial
Используй дебаггер, больше ничего не могу посоветовать.

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 18:09 10-08-2017
veqo



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

Цитата:
ultimo
что значит вырезать? Не прописывать что-ли?  

 
Нет. Вырезать эти строки из самого Compil32.exe или из dll в которых эти строки.
Я имею ввиду, что в ветке реестра с установленной программой, помимо её данных (название, версия, директория и т.п.) присутствуют записи об установщике (к примеру: inno setup | 5.5.9u), да посмотрите в реестре в ветке SOFTWARE записи любой установленной проги скомпилированной сабжем - сам компилятор внедряет это в создаваемый модуль.
Другие компиляторы не прописывают о себе инфу в реестре, а этот да. Думаю что это специально сделано, потому что он бесплатный. Таким образом рекламируют продукт.  
Хотя тот же NSIS этого не делает.
Короче в исходниках смотреть надо. Там и инфа есть как и на чём собирать. Но, увы, я не силён в этом.

Всего записей: 97 | Зарегистр. 05-12-2012 | Отправлено: 13:23 11-08-2017 | Исправлено: veqo, 13:49 11-08-2017
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
veqo
ну вперед, исходник есть, исправить его элементарно, компилится он без проблем.
 
Достаточно только изучить описание, там все подробно описано.
 
https://github.com/jrsoftware/issrc/blob/master/README.md
 
Только стоит ли это того?) Как альтернатива можно удалять эти ключи в конце установки, но это уже извращение)

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 13:37 11-08-2017
veqo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ultimo
Н-да... В этом ридми всё доходчиво описано, но для меня, уж проще, в коде собираемого продукта удаление этих записей в конце установки прописать чем всю эту среду разработки, то бишь Borland и иже с ним устанавливать.
На счёт извращения, а что в этом такого? Зачем лицезреть лишние записи в реестре, посредством чего был создан установщик - это просто хлам и реклама. Понятно, что ~90% юзеров  не имеют понятия что у них в реестре творится, но всё же...

Всего записей: 97 | Зарегистр. 05-12-2012 | Отправлено: 14:10 11-08-2017 | Исправлено: veqo, 15:16 11-08-2017
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
veqo
По-моему это бред... Ничего страшного в этих записях нет, выкинь эти навязчивые идеи насчет рекламы.
 
Но если прям сильно хочется, то есть функция
 
function RegDeleteValue(const RootKey: Integer; const SubKeyName, ValueName: String): Boolean;
 
а также
 
procedure CurStepChanged(CurStep: TSetupStep);
 
Используй на шаге CurStep=ssPostInstall

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 15:08 11-08-2017
CKILL

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
veqo
Не проще-ли использовать CreateUninstallRegKey=False  а в [Registry] прописать свои ключи в SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\прога .

Всего записей: 194 | Зарегистр. 17-02-2009 | Отправлено: 15:52 11-08-2017
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CKILL
Не проще, но и не сложнее. Просто альтернатива

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 15:54 11-08-2017
Открыть новую тему     Написать ответ в эту тему

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

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup - создание инсталляционных пакетов (Часть 15)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru