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

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

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

Cheery



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

Предыдущие части
Это мощное бесплатное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта, но генерит на 200-300 кб больший инсталятор. На данный момент он конкурирует и даже превосходит многие коммерческие установщики по функциональности и стабильности.
All version | Исходники проекта
 
Последние версии:
Inno Setup 6.3.3 [12.07.2024]
Скачать (5,37 Mb)
 
Inno Setup QuickStart Pack (Unicode) 6.1.2 [15.11.2020]
Скачать (4.23 Mb)
 
Что нового? | Что нового v.6x?  
 
Русский язык для Inno Setup v6.x
Скачать
 
Русский язык для Inno Setup v5.x
Скачать
 
Русская справка к версии - 5.6.1 (Зеркало) | 6.0.0 beta | 6.x
 
Последняя версия с поддержкой 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 | Исправлено: boss911, 03:15 07-11-2024
innonewbie

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zealotfan
Возможно, такой способ с ключом реестра поможет (сам не пробовал, но вроде должно работать):
[Registry]
Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\Нужный.exe; ValueData: RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty; (флаги по желанию, нужные можно глянуть в справке к inno setup)

Всего записей: 168 | Зарегистр. 30-12-2010 | Отправлено: 18:40 11-07-2018
codecs



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
это в реестр прописывается

Код:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"полный путь\\прога.exe"="~ RUNASADMIN"


----------
мои релизы

Всего записей: 2116 | Зарегистр. 22-07-2003 | Отправлено: 19:00 11-07-2018
nik1967



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

Всего записей: 1076 | Зарегистр. 11-10-2006 | Отправлено: 21:19 11-07-2018
mig73



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Русская справка по Inno Setup 5.6.1

Всего записей: 8283 | Зарегистр. 24-02-2010 | Отправлено: 21:30 11-07-2018 | Исправлено: mig73, 18:08 14-07-2018
zealotfan



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mig73
nik1967
codecs
innonewbie
Спасибо всем огромное!!!Всё получилось!

Всего записей: 234 | Зарегистр. 25-02-2016 | Отправлено: 08:15 12-07-2018
WiperX



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет! Не пробегал новый скрипт GOG инсталлятора? Можно в лс, спасибо.

Всего записей: 1027 | Зарегистр. 17-03-2009 | Отправлено: 17:13 14-07-2018
AlexALSP



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mig73
 
А можно ее выложить так , что бы не нужно было регаться на форуме ?  
 
 
Русская справка по Inno Setup 5.6.1 - облако mail.ru

Всего записей: 1255 | Зарегистр. 22-04-2007 | Отправлено: 18:00 14-07-2018 | Исправлено: AlexALSP, 18:07 14-07-2018
mig73



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

Всего записей: 8283 | Зарегистр. 24-02-2010 | Отправлено: 18:09 14-07-2018
AlexALSP



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Расширенная версия от китайских собратьев. Домашняя страница ResTools  
 
Inno Setup Compiler  
 
для 5.5.0 - 5.5.2 расширений для сборки 121216
 
Многоязыковая поддержка: английский, китайский, русский  
 
http://restools.hanzify.org/inno/InnoCompiler121216(7zip).zip

Всего записей: 1255 | Зарегистр. 22-04-2007 | Отправлено: 18:16 14-07-2018 | Исправлено: AlexALSP, 18:18 14-07-2018
cross82

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
такой вопрос: есть ключ реестра, например типа "123456789", надо чтобы инсталятор считывал ключ а затем изменял в нем последние 4 цифры на заранее заданные, например так "123450000", при этом изначальное значение (последовательность) цифр неизвестна поэтому ее надо считывать, есть что-нибудь похожее , код на паскале?

Всего записей: 3 | Зарегистр. 05-05-2018 | Отправлено: 17:54 15-07-2018
dodakaedr



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

Код:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
 
[Code]
function InitializeSetup(): Boolean;
var
  res: cardinal;
  l, s: string;
begin
  s := '0000';
  if RegQueryDWordValue(HKCU, 'Software\Test', 'Param', res) then
    begin
      l := Copy(IntToStr(res), 0, Length(IntToStr(res))-4);
      if RegWriteDWordValue(HKCU, 'Software\Test', 'Param', StrToInt(l+s)) then
        MsgBox('Done!'+#13+'New value data: '+l+s, mbInformation, MB_OK) else
        MsgBox('Something wrong!', mbInformation, MB_OK);
    end else MsgBox('Value name not found!', mbInformation, MB_OK);
  result := false;
end;
 

Всего записей: 178 | Зарегистр. 31-01-2014 | Отправлено: 19:23 15-07-2018 | Исправлено: dodakaedr, 20:04 15-07-2018
cross82

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

Цитата:
Код:

 
хмм, интересно,только надо в определенной ветке реестра заменить все значения для всех подветок, т.е. цикл когда читаем ветку с подветками, находим все ключи с именем "Key", считываем, и меняем последние 4 цифры в каждом, т.е. смотреть надо в  
HKCU, 'Software\Test\x' где x - это названия подветок, названия подветок разные и не фиксированные, кол-во тоже меняется
 
и еще вопросик: а как в Inno запустить команду до установки в реестр? там сначала в реестр заносится а потом Run, а мне надо наоборот

Всего записей: 3 | Зарегистр. 05-05-2018 | Отправлено: 21:33 16-07-2018 | Исправлено: cross82, 14:15 17-07-2018
dodakaedr



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

Цитата:
хмм, интересно,только надо в определенной ветке реестра заменить все значения для всех подветок


Цитата:
есть ключ реестра, например типа "123456789"

Задайте, пожалуйста, четкий вопрос и озвучьте все условия вашей задачи. Надо сам ключ менять или параметр ключа, или его значение?
Код
 
Добавлено:

Цитата:
и еще вопросик: а как в Inno запустить команду до установки в реестр? там сначала в реестр заносится а потом Run, а мне надо наоборот

В справке почитайте о ssDone а для реестра вам понадобятся RegWriteDWordValue, RegWriteStringValue и тому подобные.

Всего записей: 178 | Зарегистр. 31-01-2014 | Отправлено: 18:27 17-07-2018 | Исправлено: dodakaedr, 18:29 17-07-2018
ErikPshat



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет ребята!
Я сделал инсталлятор только одним окном. В нём вывел картинку BMP и несколько кнопочек, по нажатию которых вызываются файлы Readme.txt, локальная страница HTM и т.п.
Так вот, все эти вспомогательные файлы лежат рядом в папке Resource. Я их всех добавил в секцию [Files] и они собираются в компиляцию. Собранный экзешник работает и запускает все файлы по кнопочкам, но стоит мне переместить этот экзешник в другое место, как все локальные файлы он уже не видит, хотя они же присутствуют в экзешнике.
 
Как мне сделать так, чтобы эти файлы, которые упакованы в экзешнике сразу подхватывались при запуске программы? Я так понимаю, что они должны распаковаться в {tmp} при запуске программы... Какой для этого нужен код?
 
UPDATE
Паника отменяется ))) Подсмотрел код в ISDone и в Splash-заставке.
Файлы извлекаются командой ExtractTemporaryFile('File.xyz'); из процедуры, при запуске экзешника, а затем происходит инициализация проги.

Всего записей: 76 | Зарегистр. 27-10-2006 | Отправлено: 02:58 20-07-2018 | Исправлено: ErikPshat, 09:44 20-07-2018
gazon001

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обновлен русификатор Inno Script Studio_2.3.0.0 от wylek.ru team

Всего записей: 21 | Зарегистр. 18-11-2017 | Отправлено: 08:46 24-07-2018
ErikPshat



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не могу выудить переменную из кода GetOpenFileName. Вот пример:

Код:
procedure UnpackButtonClick(Sender: TObject);
var
  FileName: String;
begin
  // Set the initial filename
  FileName := '';
  if GetOpenFileName('', FileName, '', 'Archives Files (*.zip)|*.zip|All Files|*.*', 'zip') then
  begin
    // Successful; user clicked OK
    // FileName contains the selected filename
    MsgBox('Выбран архив {FileName}', mbInformation, MB_OK);
  end;
  if not ShellExec('open', ExpandConstant('{tmp}\7z.exe'), 'x -y {FileName}', ExpandConstant('{src}'), SW_SHOWNORMAL, ewnowait, ResultCode) then
  MsgBox(ExpandConstant('{code:NotFileOnDiskMsg}'), mbCriticalError,MB_OK);
end;

Делаю распаковку архивов и переменная {FileName} ничего не возвращает, ни в MsgBox, ни подхватывает выбранный файл при распаковке.
Где я допустил косяк?

Всего записей: 76 | Зарегистр. 27-10-2006 | Отправлено: 11:26 31-07-2018
iglezz

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ErikPshat
Фигурные скобки лишние
{FileName} - это константа
FileName - это будет переменная

Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 14:32 31-07-2018
painter7



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В 'x -y {FileName}'.
 
FileName это переменная, а не константное значение, str :=  'x -y ' + FileName;

Всего записей: 1259 | Зарегистр. 25-04-2012 | Отправлено: 14:35 31-07-2018 | Исправлено: painter7, 14:36 31-07-2018
ErikPshat



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iglezz, painter7
Ага, спасибо большое, разобрался. Работает замечательно.
 
Подскажите ещё, как сделать теперь на том же примере мультивыбор файлов?
В справке есть практически аналогичный пример, но не через GetOpenFileName, а через GetOpenFileNameMulti.
Пытаюсь сделать так же, но выдаёт ошибку Type mismatch на FileNameList.

Всего записей: 76 | Зарегистр. 27-10-2006 | Отправлено: 15:00 31-07-2018
dodakaedr



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ErikPshat
Ошибка означает  неверный тип переменной, которую вы указали.

Всего записей: 178 | Зарегистр. 31-01-2014 | Отправлено: 16:44 31-07-2018
Открыть новую тему     Написать ответ в эту тему

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

Компьютерный форум 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