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

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
О. Большущий сэнкс. Буду пробовать.

Всего записей: 1007 | Зарегистр. 05-01-2007 | Отправлено: 14:50 24-07-2014
valgo2

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, уважаемые форумчане.  
Просьба помочь - недавно стал разбираться с Inno Setup, потому могут быть вопросы достаточно глупые. Бьюсь уже второй день с закреплением иконки софта на панели задач в Win7. Видел кучу разного кода - ни один не работает.
Например, вот этот: http://forum.ru-board.com/topic.cgi?forum=5&topic=46338&start=421&limit=1&m=1#1
Здесь функция SHGetNewLinkInfo не определена. И вообще нет вызова функции PinToTaskbar.
Просьба указать пробелы в данном скрипте, или лучше дать готовый пример закрепления ярлыка на панели задач.
Заранее премного благодарен
 
 
 
Добавлено:
Сейчас получилось сделать с использованием вот этого скрипта: http://forum.oszone.net/post-1444931-2009.html
НО:
1. получается зависимость от языка ОС? тогда как же быть, если у нас международное приложение и язык может быть почти любой?
2. нужно чтобы был запуск не просто софта, а с параметром. как это сделать (добавил параметр просто через пробел после названия файла, тогда скрипт ругается при исполнении)? и иконка нужна другая, а не основного софта. Ну то есть на панели задач хотелось закрепть быстрый доступ к одной из функций.

Всего записей: 2 | Зарегистр. 24-07-2014 | Отправлено: 14:59 24-07-2014 | Исправлено: valgo2, 16:35 24-07-2014
MentalWarrior

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
painter7
Ещё раз спасибо, есть такой вопрос. А где про это можно почитать? Хотелось бы на нормальном русском языке (ну не люблю я инглиш), да и подробно о нужном, кратко о ненужном. То бишь в виде конкретного справочника. Просто посмотрел Хэлп, никаких там Check даже близко нет.

Всего записей: 1007 | Зарегистр. 05-01-2007 | Отправлено: 16:49 24-07-2014
painter7



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

Цитата:
Русская справка к версии 5.5.5, автор перевода BagIra, bugron | Chm-версия  

Скрипты на Pascal -> Параметры проверок
Там и пример с описанием.

Всего записей: 1257 | Зарегистр. 25-04-2012 | Отправлено: 17:12 24-07-2014
valgo2

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Получилось закрепить с помошью этого кода:
http://forum.ru-board.com/topic.cgi?forum=5&topic=46338&start=421&limit=1&m=1#1
то есть вопрос с языками отпал.
НО остается вопрос с отличной иконкой и добавлением параметра запуска exe

Всего записей: 2 | Зарегистр. 24-07-2014 | Отправлено: 17:58 24-07-2014
painter7



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

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

Ну если я правильно понял, то вот первое, что пришло в голову:
Подробнее...
Не даст выбирать другие компоненты, пока не выбрать в списке нужный тип установки, ну а все остальное так же как обычно, к нужному файлу (ярлыку или значению реестра) дописать в зависимости от компонента, например
;Components: programa\comp1
 
Ну а если надо, чтобы выводился список только в зависимости от нужного типа, добавить страницу с выбором типа установки перед страницей компонентов и от выбора плясать с компонентами, см. CreateInputOptionPage и работу с TNewCheckListBox в справке.

Всего записей: 1257 | Зарегистр. 25-04-2012 | Отправлено: 19:06 24-07-2014 | Исправлено: painter7, 19:28 24-07-2014
MentalWarrior

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ладно гляну. Просто смотрел я этот хелп. В оригинальном всё чётко, по оглавлению. А здесь. Пока докопаешься.

Всего записей: 1007 | Зарегистр. 05-01-2007 | Отправлено: 19:45 24-07-2014
painter7



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MentalWarrior, как говорят: "плохому танцору ..."
Если кратко: для проверки подходит функция возвращающая true или false.


Цитата:
1. получается зависимость от языка ОС? тогда как же быть, если у нас международное приложение и язык может быть почти любой?  
valgo2
Как раз в приведенном выше сценарии это предусмотрено, вот тут грузится внешней функцией нужная строка
Код:
LoadString(hInst, res, buf[0], 255)-1 do Insert(buf[i], strVerb, i+1);

Цитата:
ужно чтобы был запуск не просто софта, а с параметром. как это сделать (добавил параметр просто через пробел после названия файла, тогда скрипт ругается при исполнении)? и иконка нужна другая, а не основного софта. Ну то есть на панели задач хотелось закрепить быстрый доступ к одной из функций.

Держи, смотри CreateShellLink (временный ярлык создается с необходимыми изменениями).
Подробнее...
Учти, функция не будет работать с закреплением ярлыка в Пуск в Win8 и выше (ошибки видно не будет, но и ярлыка на месте не будет), там нет строк 5381 и 5382 в shell, которые подгружаются, это сам исправишь, думаю)

Всего записей: 1257 | Зарегистр. 25-04-2012 | Отправлено: 22:21 24-07-2014 | Исправлено: painter7, 22:39 24-07-2014
AtotIK



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
VkusnayaSolanka, это проблема в dll'ке. Под Windows 8 у всех так. Inno Setup ни при чём.

Всего записей: 153 | Зарегистр. 17-09-2006 | Отправлено: 02:22 25-07-2014
demmax2004

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

Цитата:
Не даст выбирать другие компоненты, пока не выбрать в списке нужный тип установки, ну а все остальное так же как обычно, к нужному файлу (ярлыку или значению реестра) дописать в зависимости от компонента, например  ;Components: programa\comp1

 
По твоему варианту для всех типов отображаются все компоненты в списке.
Можно ли добавить и удалить Компоненты в Runtime и привязать их к [Files] в runtime ???

Всего записей: 14 | Зарегистр. 20-04-2006 | Отправлено: 10:25 25-07-2014
painter7



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

Тут про скрытие и вывод компонентов ни слова)

Цитата:
Можно ли добавить и удалить Компоненты в Runtime и привязать их к [Files] в runtime ???

Ну вот так например (на скорую руку, с костылями, в виде ручного забивания компонентов по типам).
Подробнее...

Всего записей: 1257 | Зарегистр. 25-04-2012 | Отправлено: 18:41 25-07-2014 | Исправлено: painter7, 18:49 25-07-2014
distortion



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
пардон за мое невежество, возможно ли из iss --> reg? любые варианты экспорт/конвертация?
 
снимается, istool --> экспорт, спасибо

Всего записей: 3708 | Зарегистр. 07-04-2001 | Отправлено: 23:56 28-07-2014 | Исправлено: distortion, 23:59 28-07-2014
Habib2302



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброе время суток. В моем репаке AIDA64 присутствуют 4 редакции т.е 4 программы и дело в том, что если использовать параметр установки

Код:
[Setup]
AppendDefaultDirName=yes

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

Код:
procedure CurPageChanged(CurPageID: Integer);
begin
  case CurPageID of
    wpSelectComponents:
    begin
if IsComponentSelected('AIDA64\I\1') then
  begin
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultDirName")}')) + '{#AIDA641}'
    WizardForm.GroupEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultGroupName")}')) + '{#AIDA641}'
  end else
  if IsComponentSelected('AIDA64\I\3') then
  begin
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultDirName")}')) + '{#AIDA642}'
    WizardForm.GroupEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultGroupName")}')) + '{#AIDA642}'
  end else
  if IsComponentSelected('AIDA64\I\2') then
  begin
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultDirName")}')) + '{#AIDA643}'
    WizardForm.GroupEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultGroupName")}')) + '{#AIDA643}'
    end else
      if IsComponentSelected('AIDA64\I\4') then
  begin
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultDirName")}')) + '{#AIDA644}'
    WizardForm.GroupEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultGroupName")}')) + '{#AIDA644}'
    end else
      if IsComponentSelected('AIDA64\P\1') then
  begin
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#AIDA641} Portable'
  end else
  if IsComponentSelected('AIDA64\P\3') then
  begin
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#AIDA642} Portable'
  end else
  if IsComponentSelected('AIDA64\P\2') then
  begin
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#AIDA643} Portable'
  end else
    if IsComponentSelected('AIDA64\P\4') then
  begin
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#AIDA644} Portable'
      end;
    end;
  end;
end;

работать не будет если изменить путь установки через кнопку обзор
 
было так

 
а после выбора другого каталога стало так

 
http://rghost.ru/57153259

Всего записей: 529 | Зарегистр. 09-05-2012 | Отправлено: 14:33 30-07-2014 | Исправлено: Habib2302, 16:37 30-07-2014
painter7



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

Код:
 
[Code]
var
  DirBrowseButtonOnClick: TNotifyEvent;
 
procedure BrowseOnClick(Sender: TObject);
begin
  DirBrowseButtonOnClick(Sender);
  if IsComponentSelected('AIDA642') then  
    WizardForm.DirEdit.Text := AddBackslash(WizardForm.DirEdit.Text) + '{#AIDA642}';
end;
 
procedure InitializeWizard();
begin
  with WizardForm do
    begin
    DirBrowseButtonOnClick := DirBrowseButton.OnClick;
    DirBrowseButton.OnClick := @BrowseOnClick;
    end;
end;
 

Всего записей: 1257 | Зарегистр. 25-04-2012 | Отправлено: 16:07 30-07-2014
Habib2302



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
painter7
а как быть с портативной версией? или вы скрипт не смотрели?

Код:
 
procedure CurPageChanged(CurPageID: Integer);  
begin  
  case CurPageID of  
    wpSelectComponents:  
    begin  
if IsComponentSelected('AIDA64\I\1') then  
  begin  
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultDirName")}')) + '{#AIDA641}'  
    WizardForm.GroupEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultGroupName")}')) + '{#AIDA641}'  
  end else  
  if IsComponentSelected('AIDA64\I\3') then  
  begin  
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultDirName")}')) + '{#AIDA642}'  
    WizardForm.GroupEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultGroupName")}')) + '{#AIDA642}'  
  end else  
  if IsComponentSelected('AIDA64\I\2') then  
  begin  
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultDirName")}')) + '{#AIDA643}'  
    WizardForm.GroupEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultGroupName")}')) + '{#AIDA643}'  
    end else  
      if IsComponentSelected('AIDA64\I\4') then  
  begin  
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultDirName")}')) + '{#AIDA644}'  
    WizardForm.GroupEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultGroupName")}')) + '{#AIDA644}'  
    end else  
      if IsComponentSelected('AIDA64\P\1') then  
  begin  
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#AIDA641} Portable'  
  end else  
  if IsComponentSelected('AIDA64\P\3') then  
  begin  
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#AIDA642} Portable'  
  end else  
  if IsComponentSelected('AIDA64\P\2') then  
  begin  
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#AIDA643} Portable'  
  end else  
    if IsComponentSelected('AIDA64\P\4') then  
  begin  
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#AIDA644} Portable'  
      end;  
    end;  
  end;  
end;
 

Всего записей: 529 | Зарегистр. 09-05-2012 | Отправлено: 16:33 30-07-2014 | Исправлено: Habib2302, 16:41 30-07-2014
painter7



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Habib2302, не смотрел, просто написал код по куску который приведен.
Ну так точно так же будет, добавить остальное в процедуру BrowseOnClick.

Всего записей: 1257 | Зарегистр. 25-04-2012 | Отправлено: 17:43 30-07-2014
canorila

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как сохранить атрибуты при компиляции и распаковке? Есть в папках некое количество файлов которые имеют артибут только для чтения, при компиляции этот атрибут пропадает, как это предотвратить?
П.С. Уже была такая тема: http://www.forum.ru-board.com:9000/topic.cgi?forum=5&topic=31936&start=2220
о ней писал 'boss911' но ему так не кто не ответил, помогите пожалуйста, уже 2 день ищу.

Всего записей: 2 | Зарегистр. 01-08-2014 | Отправлено: 18:42 01-08-2014
dodakaedr



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

Цитата:
Как сохранить атрибуты при компиляции и распаковке?

для этого в секции [Files] есть параметр Attribs

Код:
[Files]
Source: "InstallFiles\1.txt"; DestDir: {app}; Attribs: hidden system; Flags: ignoreversion

 
Attribs: hidden system - системный скрытый
Attribs: readonly - только чтение

Всего записей: 178 | Зарегистр. 31-01-2014 | Отправлено: 20:29 01-08-2014
canorila

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Получается мне придётся искать каждый файл с атрибутом и вписывать его в скрипт? Это же капец как муторно.

Всего записей: 2 | Зарегистр. 01-08-2014 | Отправлено: 22:01 01-08-2014
Raz3r

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как разблокировать формы в редакторе форм в inno setup ultra?

Всего записей: 3 | Зарегистр. 13-10-2013 | Отправлено: 10:36 03-08-2014
Открыть новую тему     Написать ответ в эту тему

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