Вопрос Указания флагов в зависимости от типов.

Alexandr_57

Новичок
Здраствуйте!
У меня вопрос. А как можно при выборе того или иного типа делать CheckBox кнопку фиксированной и не фиксированной. Тоже самое и про галочку в этих кнопках?
 

Alexandr_57

Новичок
Извините. Не по теме:
Какие флаги нужно использовать при установки файла чтобы не было дополнительных диаалоговых окон мол файл уже существует и т.д и т.п
А вопрос по теме решил:
Код:
[Types]
Name: "programm"; Description: "Программа"; Flags: iscustom

[Components]
Name: "v101"; Description: "Версия 1.0.1"; Flags: exclusive
Name: "v101\Base101"; Description: "Базовая версия"; Flags: exclusive; ExtraDiskSpaceRequired: 785173708
Name: "v101\Full101"; Description: "Полная версия"; Flags: exclusive; ExtraDiskSpaceRequired: 1503238553
Name: "v120"; Description: "Версия 1.2.0"; Flags: exclusive
Name: "v120\Full120"; Description: "Полная версия"; Flags: exclusive; ExtraDiskSpaceRequired: 1610612736
Name: "v120\Base120"; Description: "Базовая версия"; Flags: exclusive; ExtraDiskSpaceRequired: 898419916
Name: "v120\ResOptimized120"; Description: "Сжатая версия Базовых ресурсов 1.0 - 1.1"; ExtraDiskSpaceRequired: 108003328
Name: "DLC10"; Description: "DLC Версия 1.0"; ExtraDiskSpaceRequired: 241172480
 

SBalykov

Старожил
Извините. Не по теме:
Какие флаги нужно использовать при установки файла чтобы не было дополнительных диаалоговых окон мол файл уже существует и т.д и т.п
Код:
[Setup]
Source: "Games\*"; DestDir: "{app}"; Permissions: users-modify; Flags: recursesubdirs createallsubdirs [B]overwritereadonly replacesameversion[/B];
 

Alexandr_57

Новичок
Еще если не ошибаюсь не помешает флаг игнорирования версии
Я чет не понял что за и
 

Kotyarko_O

Новичок
У меня вопрос. А как можно при выборе того или иного типа делать CheckBox кнопку фиксированной и не фиксированной. Тоже самое и про галочку в этих кнопках?
Например (если я правильно вас понял):
Код:
Procedure TypesComboOnChange(Sender: TObject);
begin
with WizardForm.ComponentsList do
  case TNewComboBox(Sender).ItemIndex of
   0: ItemEnabled[Items.IndexOf('Компонент 1')] := False;
   1: Checked[Items.IndexOf('Компонент 1')] := True;
   else
   begin
    ItemEnabled[Items.IndexOf('Компонент 1')] := True;
    Checked[Items.IndexOf('Компонент 1')] := False;
   end;
  end;
end;

Procedure InitializeWizard();
begin
WizardForm.TypesCombo.OnChange := @TypesComboOnChange;
end;
Upd: не заметил, что вопрос уже решён. Тогда отвечу на другой.
Какие флаги нужно использовать при установки файла чтобы не было дополнительных диаалоговых окон мол файл уже существует и т.д и т.п
Код:
Flags: disablenouninstallwarning;
(для компонента)
Код:
Flags: ignoreversion;
(для файла)
 

SBalykov

Старожил
Еще если не ошибаюсь не помешает флаг игнорирования версии
Я чет не понял что за и
и где?
Можно: ignoreversion - Не сверять версии; заменять существующие файлы не обращая внимание на номер версии. Этот флаг применим к файлам вашего приложения, но не к общим системным файлам.
replacesameversion - Когда используется этот флаг и файл уже существует на компьютере пользователя и имеет ту же версию, что и устанавливаемый файл, инсталлятор сравнит файлы и заменит существующий файл, если их содержание различается. Если этот флаг не используется, существующий файл с тем же номером версии не заменяется.
 

Alexandr_57

Новичок
и где?
Можно: ignoreversion - Не сверять версии; заменять существующие файлы не обращая внимание на номер версии. Этот флаг применим к файлам вашего приложения, но не к общим системным файлам.
replacesameversion - Когда используется этот флаг и файл уже существует на компьютере пользователя и имеет ту же версию, что и устанавливаемый файл, инсталлятор сравнит файлы и заменит существующий файл, если их содержание различается. Если этот флаг не используется, существующий файл с тем же номером версии не заменяется.
Нужно устанавливать так что если файл существует то он должен быть заменен. Файлы есть и системные а есть и обычные ресурсы.
Но все они находятся в папке с программой.
И еще вопрос. Ведь если указать
к примеру
\Help\inc\*
Он подкаталоги в каталоге inc не будет учитывать или будет?
Например (если я правильно вас понял):
Код:
Procedure TypesComboOnChange(Sender: TObject);
begin
with WizardForm.ComponentsList do
  case TNewComboBox(Sender).ItemIndex of
   0: ItemEnabled[Items.IndexOf('Компонент 1')] := False;
   1: Checked[Items.IndexOf('Компонент 1')] := True;
   else
   begin
    ItemEnabled[Items.IndexOf('Компонент 1')] := True;
    Checked[Items.IndexOf('Компонент 1')] := False;
   end;
  end;
end;

Procedure InitializeWizard();
begin
WizardForm.TypesCombo.OnChange := @TypesComboOnChange;
end;
Upd: не заметил, что вопрос уже решён. Тогда отвечу на другой.
Код:
Flags: disablenouninstallwarning;
(для компонента)
Код:
Flags: ignoreversion;
(для файла)
Вся фишка в том что у меня вот такой скрипт файлов
Код:
Source: "F:\Installer_RPG_Maker_MV\Installer\v1000\{app}\bearer\*"; DestDir: "{app}\bearer";
Source: "F:\Installer_RPG_Maker_MV\Installer\v1000\{app}\drm\*"; DestDir: "{app}\drm";
Source: "{app}\icuin53.dll"; DestDir: "{app}"; MinVersion: 0.0,5.0;
Source: "{app}\icuuc53.dll"; DestDir: "{app}"; MinVersion: 0.0,5.0;
Source: "{app}\msvcp120.dll"; DestDir: "{app}"; MinVersion: 0.0,5.0;
Source: "{app}\msvcr120.dll"; DestDir: "{app}"; MinVersion: 0.0,5.0;
Так что тут не получится узнать системный это файл или нет
Еще вопрос возник. Как сделать так чтобы все файлы установки хранились в отдельном файле а то инсталятор весом в 1,5 гб и открывается очень долго.
 
Последнее редактирование:

Alexandr_57

Новичок
Справка в inno setup на английском а я не знаю английского только через гугл переводчик но очень много чего непонятно.
 

Alexandr_57

Новичок
Ну все равно еслибы кто дал команду разделения так чтобы устанолвщик все установочные файлы держал в отдельном пакете а сам ехе файл был какбы сказать ядром ну или т.п. И весил лишь несколько КБ или МБНУ НИКАК НЕ 1,5 гб
 

SBalykov

Старожил
Ну все равно еслибы кто дал команду разделения так чтобы устанолвщик все установочные файлы держал в отдельном пакете а сам ехе файл был какбы сказать ядром ну или т.п. И весил лишь несколько КБ или МБНУ НИКАК НЕ 1,5 гб
Код:
[setup]
DiskSpanning = yes
SlicesPerDisk=3
DiskSliceSize=1566000000
DiskSpanning
Возможные значения:

yes или no
Значение по умолчанию: no
Описание:
При значении yes будет производиться разбиение на диски. Определяет, создавать ли компилятору один файл SETUP.EXE, или делить его на файлы (SETUP-*.BIN), которые помещаются на дискету, CD-ROM, DVD-ROM или другой носитель. Каждый файл в своем имени будет содержать номер, по которому можно будет определить на какой диск его следует скопировать. Скопируйте SETUP.EXE и SETUP-1.BIN на первый диск, SETUP-2.BIN на второй и т. д.

В этом случае размер каждого файла и число файлов, создаваемых для каждого диска, диктуется директивой DiskSliceSize и SlicesPerDisk секции [Setup]. Другие директивы, отвечающие за разбиение на диски, которые вы захотите внедрить, должны включать директивы DiskClusterSize и ReserveBytes.

Обратите внимание, что нужно обязательно задать этим директивам значение yes, если размер сжатого файла инсталлятора превышает 2,100,000,000 байт, даже если вы не планируете разбивать инсталлятор на диски. (Инсталлятор будет работать правильно, даже если все SETUP-*.BIN файлы будут размещены на одном диске).

DiskSliceSize


Возможные значения:

262144 до 2100000000, или max
Значение по умолчанию: max (2100000000)
Описание:
Определяет максимальное количество байтов на дисковую часть (SETUP-*.BIN файл). Обычно, оно должно быть установлено в общее количество байтов, доступных на дисковых носителях, разделенных на значение директивы SlicesPerDisk секции [Setup], значение которого по умолчанию 1.

Директива игнорируется, если разбиение на диски не включено (директива DiskSpanning секции [Setup]).

Чтобы оптимально заполнить DVD диск размером 4.7 Гбайт, используйте:

SlicesPerDisk=3
DiskSliceSize=1566000000

Чтобы оптимально заполнить DVD диск размером 8.5 Гбайт, используйте:

SlicesPerDisk=5
DiskSliceSize=1708200000

Чтобы оптимально заполнить CD (80-минутные) диск размером 700 Мбайт, используйте:

SlicesPerDisk=1
DiskSliceSize=736000000

Чтобы оптимально заполнить 1.44MБ гибкие диски, используйте:

SlicesPerDisk=1
DiskSliceSize=1457664
 
Последнее редактирование:

Awalder

Новичок
Ну все равно еслибы кто дал команду разделения так чтобы устанолвщик все установочные файлы держал в отдельном пакете а сам ехе файл был какбы сказать ядром ну или т.п. И весил лишь несколько КБ или МБНУ НИКАК НЕ 1,5 гб
все файлы закомментировать на время отладки, будет быстро компилится. Только файлы скинов и прочие необходимые для самого инсталла не комментируйте
[files]
; Source
; Source
Или я не правильно понял? :)
 

Alexandr_57

Новичок
вОТ ЧТО ТО ВРОДЕ ЭТОГО МНЕ НУЖНО. кАК ВИДНО ИНСТАЛЯТОР ВЕСИТ МАЛО А ВСЕ УСТАНОВОЧНЫЕ ФАЙЛЫ НАХОДЯТСЯ В Setup-1.bin
 

Вложения

  • 43.5 KB Просмотры: 14

SBalykov

Старожил
вОТ ЧТО ТО ВРОДЕ ЭТОГО МНЕ НУЖНО. кАК ВИДНО ИНСТАЛЯТОР ВЕСИТ МАЛО А ВСЕ УСТАНОВОЧНЫЕ ФАЙЛЫ НАХОДЯТСЯ В Setup-1.bin
Я же Вам выше дал пример
Код:
[setup]
// Делит диск на Setup.exe и Setup-*.bin
DiskSpanning = yes
// Количество файлов Setup-*.bin на одном диске (не обязательный параметр)
SlicesPerDisk=3
// Размер файла Setup-*.bin (не обязательный параметр)
DiskSliceSize=1566000000
 

Alexandr_57

Новичок
Я же Вам выше дал пример
Код:
[setup]
// Делит диск на Setup.exe и Setup-*.bin
DiskSpanning = yes
// Количество файлов Setup-*.bin на одном диске (не обязательный параметр)
SlicesPerDisk=3
// Размер файла Setup-*.bin (не обязательный параметр)
DiskSliceSize=1566000000
Спасибо. Что выше то я не понял примера
И еще вопрос. Это для того чтобы инсталятор не запускался на Windows XP или Vista нужно прописать в Setup
MinVersion: 6.1
Я ПРАВИЛЬНО ПОНЯЛ?
 

SBalykov

Старожил
Спасибо. Что выше то я не понял примера
И еще вопрос. Это для того чтобы инсталятор не запускался на Windows XP или Vista нужно прописать в Setup
MinVersion: 6.1
Я ПРАВИЛЬНО ПОНЯЛ?
Все написано в справке Inno :
Формат: major.minor
Значение по умолчанию: 5.0
Описание:
Эта директива позволяет Вам определять минимальную версию Windows, в котором работает ваше приложение. Номера сборки и/или пакета обновления могут включаться в значение.
Если версия системы пользователя меньше указанной, инсталлятор выдаст сообщение об ошибке и прервет процесс установки.
Для совместимости с предыдущими версиями Inno Setup, отдельные номера Windows 95/98/Me и номера версий Windows NT могут быть определены и разделены запятой. Пример: 0,5.0. Номер версии Windows 95/98/Me (первое число) не используется, поскольку Inno Setup больше не поддерживает системы Windows 95/98/Me.
Версия Windows
5.0.2195 Windows 2000
5.1.2600 Windows XP
или Windows XP 64-Bit Edition Version 2002 (Itanium)
5.2.3790 Windows Server 2003
или Windows XP x64 Edition (AMD64/EM64T)
или Windows XP 64-Bit Edition Version 2003 (Itanium)
6.0.6000 Windows Vista
6.0.6001 Windows Vista с Service Pack 1
или Windows Server 2008
6.1.7600 Windows 7
или Windows Server 2008 R2
6.1.7601 Windows 7 с Service Pack 1
или Windows Server 2008 R2 с Service Pack 1
6.2.9200 Windows 8
или Windows Server 2012
6.3.9200 Windows 8.1
или Windows Server 2012 R2
6.3.9600 Windows 8.1 c Update 1
10.0.10240 Windows 10
Обычно нет необходимости определить номера сборки (то есть, можно просто использовать "6.2" для Windows 8).
 

Alexandr_57

Новичок
Формат:

major.minor
Значение по умолчанию:

5.0
Описание:
Эта директива позволяет Вам определять минимальную версию Windows, в котором работает ваше приложение. Номера сборки и/или пакета обновления могут включаться в значение.

Если версия системы пользователя меньше указанной, инсталлятор выдаст сообщение об ошибке и прервет процесс установки.

Для совместимости с предыдущими версиями Inno Setup, отдельные номера Windows 95/98/Me и номера версий Windows NT могут быть определены и разделены запятой. Пример: 0,5.0. Номер версии Windows 95/98/Me (первое число) не используется, поскольку Inno Setup больше не поддерживает системы Windows 95/98/Me.
Я не сильно чет понял. И к сожалению проверить не могу по причине что у меня последняя версия Windows и еще можно ли в компонентах указывать минимальную версию?
 

SBalykov

Старожил
Я не сильно чет понял.
Ну и что тут не понятного?
И к сожалению проверить не могу по причине что у меня последняя версия Windows
Смысл проверять то, что не имеет смысла проверять?
и еще можно ли в компонентах указывать минимальную версию?
В компонентах, Вы можете указывать все, что Вам надо ...
Вам же Kotyarko_O дал ссылку на русскую справку Inno. Почитайте ...
 
Сверху