Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 8]
Ты имеешь в виду файлов с одинаковым расширением »Справку читайте:
Справка » Вкладка Указатель » В поиске вводите: MergeDuplicateFiles
Результат:
Возможные значения: yes или no
Значение по умолчанию: yes
Описание:
По умолчанию одинаковые файлы, указанные несколько раз сжимаются только один раз (без дупликатов). Если в инсталляторе имеется несколько идентичных файлов, в скрипте их следует в один ресурс (source file), это может уменьшить размер инсталлятора. Если вы хотите отключить это отслеживание, укажите значение директивы равным no.
Также могут быть полезными флаги, например:
solidbreak
Если непрерывное сжатие включено, этот флаг указывает компилятору завершить текущий поток сжатия и начать новый перед сжатием файла(ов) соответствующих источнику. Это позволяет программе установки быстро найти файл без необходимости вначале извлекать перед ним все остальные файлы. Может быть полезным в большом, многокомпонентном инсталляторе в том случае, если Вы считаете, что на распаковку файлов тратится слишком много времени, относящихся к компонентам, которые не были выбраны.
nocompression
Запрещает компилятору сжимать файл. Устанавливайте этот флаг для файлов, сжатие которых не принесет пользы (например, изображения в формате JPED) для того, чтобы ускорить процесс компиляции и сохранить несколько байт в полученном инсталляторе.
vk_k14m@vk,
Ты имеешь в виду файлов с одинаковым расширением
Да, это и имел ввиду. Последовательно расположенные (если возможно) по типам, например сначала исполняемые *.com, *.exe, потом системные и драйверы *.sys, *.drv, а в конце текстовые *.txt, *.inf, *.ini. В WinRAR есть аналогичная последовательность в RarFiles.lst (Порядок сортировки файлов для непрерывных архивов).
Имеется недостаток. Муторно это каждый файлик прописывать, проще и быстрее сразу папкой бахнуть типа Source:"tc9.app\x64\*"; Эффект есть, но не такой чтобы ВАУ.
mig73, из того, что отчасти может быть существенным для непрерывных архивов WinRAR, вовсе не следует существенность того же механизма для инсталляций InnoSetup.
Вы на какую информацию по InnoSetup опираетесь в данном случае?
Iska,
Что значит "на какую информацию"?
Когда готовил кошерную сборку Total Commander, то задался вопросом минимизации инсталера, поскольку не люблю тему с хламом и более 50 МБ. Информация есть в справке, а кое-что подбиралось опытным путём.
vk_k14m@vk
22-09-2017, 15:57
Справка » Вкладка Указатель » В поиске вводите: MergeDuplicateFiles »
А если у меня нет дубликатов файлов? Да у меня будут файлы с одинаковым именем и расширением по одному и тому же пути при выборочной установке. Но у них будет разное содержимое. Сомневаюсь что эта опция мне нужна.
Да, это и имел ввиду. Последовательно расположенные (если возможно) по типам, например сначала исполняемые *.com, *.exe, потом системные и драйверы *.sys, *.drv, а в конце текстовые *.txt, *.inf, *.ini. »
Я применяю lzma2 сжатие, так что аналогии с WinRAR не нужно. И да, муторно такое делать, особенно когда в установщике много компонентов. Но для сравнения попробую.
Сейчас мое тестовое приложение занимает 12 гигов, установщик 6 гигов. Тоесть сжимает всего на 50%.
Понимаю, WinRAR просто чтоб пояснить принцип сей кутерьмы. Если хучева куча файлов, то и не заморачивайтесь, профит не особый, но работает. Для проверки можно с десяток разных типов взять и в тестовом режиме создать скрипт. Для максимального сжатия использую такие параметры
;---compression---
Compression=lzma2/ultra64
InternalCompressLevel=Ultra64
SolidCompression=yes
LZMABlockSize=262144
LZMADictionarySize=312000
LZMAUseSeparateProcess=yes
LZMANumBlockThreads=4
LZMANumFastBytes=273
LZMAMatchFinder=BT
LZMAAlgorithm=1
Информация есть в справке, »
Вы не могли бы сослаться на точное место в справке, где Вы почерпнули эту информацию (я не досконально знаю InnoSetup и не встречал такой информации ранее)?
а кое-что подбиралось опытным путём. »
Не могли бы Вы описать этот путь, и каким образом Вы пришли на основании этих опытов к описанным выводам?
SolidCompression=yes »
Навряд ли автору стоит сие пользовать: разработчик категорически не рекомендует использовать непрерывный архив для инсталляций объёмом более 100 Mb или состоящих из нескольких частей.
vk_k14m@vk
22-09-2017, 17:59
Навряд ли автору стоит сие пользовать: разработчик категорически не рекомендует использовать непрерывный архив для инсталляций объёмом более 100 Mb или состоящих из нескольких частей. »
Читал я про эту опцию, и тоже считаю что она мне не нужна. Тестирую инсталятор пока только с основными файлами. Весят они 12 гигов. Полный вес всех компонентов до запаковки на вскидку может достигнуть и 40 гигабайт.
сослаться на точное место в справке »
http://picplus.ru/thu/1709/22/f8e1d813.jpg (http://picplus.ru/ful/1709/22/f8e1d813.jpg)
Не могли бы Вы описать этот путь »
Он прост до безобразия, хоть я и почти лох в Inno Setup и большинства не знаю, но догадался реально проверить эту особенность на инсталляторе собственной сборки ТС, используя в итоге такую секцию
;x64 files
Source:"tc9.app\x64\*"; DestDir:"{app}"; Check: Is64BitInstallMode; BeforeInstall: AddToMemo; Flags:sortfilesbyextension ignoreversion recursesubdirs createallsubdirs overwritereadonly; Components: "x64"
;x86 files
Source:"tc9.app\x86\*"; DestDir:"{app}"; BeforeInstall: AddToMemo; Flags:solidbreak sortfilesbyextension ignoreversion recursesubdirs createallsubdirs overwritereadonly; Components: "x32"
;Common files
Source:"tc9.app\PLUGINS\*"; DestDir:"{app}\PLUGINS"; BeforeInstall: AddToMemo; Flags:solidbreak sortfilesbyextension ignoreversion recursesubdirs createallsubdirs overwritereadonly
Source:"tc9.app\Everything\*"; DestDir:"{app}\Everything"; BeforeInstall: AddToMemo; Flags:solidbreak sortfilesbyextension ignoreversion overwritereadonly
Source:"tc9.app\ARC\*"; DestDir:"{app}\ARC"; BeforeInstall: AddToMemo; Flags:solidbreak sortfilesbyextension ignoreversion overwritereadonly
Source:"tc9.app\UTILITY\*"; DestDir:"{app}\UTILITY"; BeforeInstall: AddToMemo; Flags:solidbreak sortfilesbyextension ignoreversion recursesubdirs createallsubdirs overwritereadonly
Source:"tc9.app\*"; DestDir:"{app}"; BeforeInstall: AddToMemo; Flags:solidbreak sortfilesbyextension ignoreversion overwritereadonly
Source:"tc9.app\Scripts\*"; DestDir:"{app}\Scripts"; BeforeInstall: AddToMemo; Flags:solidbreak sortfilesbyextension ignoreversion recursesubdirs createallsubdirs overwritereadonly
Source:"tc9.app\ini\*"; DestDir:"{app}\ini"; BeforeInstall: AddToMemo; Flags:solidbreak sortfilesbyextension ignoreversion overwritereadonly
Source:"tc9.app\LANGUAGE\*"; DestDir:"{app}\LANGUAGE"; BeforeInstall: AddToMemo; Flags:solidbreak sortfilesbyextension ignoreversion overwritereadonly
Source:"tc9.app\temp\*"; DestDir:"{app}\temp"; BeforeInstall: AddToMemo; Flags:solidbreak sortfilesbyextension ignoreversion recursesubdirs createallsubdirs overwritereadonly
Source:"tc9.app\XP\*"; DestDir:"{app}"; Check: FileExists(ExpandConstant('{sd}\ntldr')); BeforeInstall: AddToMemo; Flags:solidbreak sortfilesbyextension ignoreversion recursesubdirs createallsubdirs overwritereadonly
при немного другой группировке файлов, размер увеличивается на 200 Кб, чего я не желаю :)
Навряд ли автору стоит сие пользовать: разработчик категорически не рекомендует »
Возможно, но я никогда не делал таких объёмных инсталляторов и кроме того, не склонен сразу категорически отказываться от возможности, которая кстати всегда работает в моём случае.
mig73, спасибо, Ваша мысль понятна.
Перевод, конечно, тот ещё. solid compression — уплотнённое сжатие, масло масляное? В текущей версии, кстати, никаких упоминаний про LZMA/BZIP.
[Setup]: SolidCompression
Valid values:
yes or no
Default value:
no
Description:
If yes, solid compression will be enabled. This causes all files to be compressed at once instead of separately. This can result a much greater overall compression ratio if your installation contains many files with common content, such as text files, especially if such common content files are grouped together within the [Files] section.
The disadvantage to using solid compression is that because all files are compressed into a single compressed stream, Setup can no longer randomly access the files. This can decrease performance. If a certain file isn't going to be extracted on the user's system, it has to decompress the data for that file anyway (into memory) before it can decompress the next file. And if, for example, there was an error while extracting a particular file and the user clicks Retry, it can't just seek to the beginning of that file's compressed data; since all files are stored in one stream, it has seek to the very beginning. If disk spanning was enabled, the user would have to re-insert disk 1.
Thus, it is not recommended that solid compression be enabled on huge installs (say, over 100 MB) or on disk-spanned installs. It is primarily designed to save download time on smaller installs distributed over the Internet.
В общем, реальная польза может быть в том случае, если используется solid+группировка файлов, похожих по содержимому (расширение же тут постольку-поскольку)+размеры файлов вмещаются в размер окна сжатия. И, действительно, это очень похоже на тот же механизм, что используется в WinRAR.
Также могут быть полезными флаги, например:
solidbreak
Если непрерывное сжатие включено, этот флаг указывает компилятору завершить текущий поток сжатия и начать новый перед сжатием файла(ов) соответствующих источнику. Это позволяет программе установки быстро найти файл без необходимости вначале извлекать перед ним все остальные файлы. Может быть полезным в большом, многокомпонентном инсталляторе в том случае, если Вы считаете, что на распаковку файлов тратится слишком много времени, относящихся к компонентам, которые не были выбраны. »
Кхе-кхе, не знал про данный флаг :(.
solid compression — уплотнённое сжатие »
SolidCompression
Допустимые значения: yes или no
Значение по умолчанию: no
Описание:
Если задано значение yes, то будет задействовано непрерывное сжатие. Это позволит сжать все файлы как один, а не по отдельности.
Такое положение может привести к значительно лучшей степени сжатия, если в инсталляторе содержится много файлов с общим содержимым, например текстовых файлов, особенно если такие общие файлы сгруппированы в секции [Files].
Недостаток непрерывного сжатия заключается в том, что все файлы сжимаются единым потоком, инсталлятор не может беспорядочно обращаться к любому из файлов. Это может снизить производительность.
Если какой-либо файл не был извлечён в системе пользователя, то для того чтоб получить доступ к этому файлу с последующим его извлечением, в любом случае сначала понадобится извлечение остального содержимого (в память). И если например, при извлечении определённого файла произошла ошибка, и пользователь нажал кнопку "Повторить", инсталлятор не сможет обратиться к файлу, так как все файлы сжаты как единый, и придётся произвести повторную попытку снова. Если включено разбиение на диски, пользователю необходимо будет повторно вставить первый диск.
В общем, не рекомендуется применять непрерывное сжатие к большим по размеру инсталляторам (скажем, более 100 МБ) или если используется разбиение на диски. В первую очередь предназначалось для экономии времени при загрузке небольших приложений, распространяемых через Интернет.
А если у меня нет дубликатов файлов? »Последовательность интересует?
Последовательность следует сверху вниз.
Например включено в инсталлятор:
[Files]
Source: C:\WINDOWS\Fonts\*; DestDir: {app}\Fonts; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Source: C:\WINDOWS\Cursors\*; DestDir: {app}\Cursors; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Source: C:\WINDOWS\Help\*; DestDir: {app}\Help; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
то извлечение будет производиться сначала Fonts, затем Cursors и наконец Help.
Если:
[Files]
Source: C:\WINDOWS\Help\*; DestDir: {app}\Help; Flags: ignoreversion recursesubdirs createallsubdirs
Source: C:\WINDOWS\Fonts\*; DestDir: {app}\Fonts; Flags: ignoreversion recursesubdirs createallsubdirs
Source: C:\WINDOWS\Cursors\*; DestDir: {app}\Cursors; Flags: ignoreversion recursesubdirs createallsubdirs
- аналогично Help, затем Fonts и наконец Cursors.
Также в таком случае:
[Files]
Source: MyProg1.exe; DestDir: {app}; Flags: ignoreversion
Source: MyProg2.exe; DestDir: {app}; Flags: ignoreversion
Source: C:\WINDOWS\Help\*; DestDir: {app}\Help; Flags: ignoreversion recursesubdirs createallsubdirs
Source: C:\WINDOWS\Fonts\*; DestDir: {app}\Fonts; Flags: ignoreversion recursesubdirs createallsubdirs
- сначала MyProg1.exe, затем MyProg2.exe, Help и наконец Fonts.
Аналогично:
Source: C:\WINDOWS\Fonts\*; DestDir: {app}\Fonts; Flags: ignoreversion recursesubdirs createallsubdirs
Source: C:\WINDOWS\Help\*; DestDir: {app}\Help; Flags: ignoreversion recursesubdirs createallsubdirs
Source: MyProg2.exe; DestDir: {app}; Flags: ignoreversion
Source: MyProg1.exe; DestDir: {app}; Flags: ignoreversion
- сначала Fonts, затем Help, MyProg2.exe и наконец MyProg1.exe.
Лучшее сжатие интересует?
Совместно с SolidCompression используйте флаг sortfilesbyextension
sortfilesbyextension
Этот флаг указывает компилятору сжимать найденные файлы, отсортированные по расширению, прежде чем они будут отсортированы по имени пути. Это уменьшит размер инсталлятора, если используется совместно с директивой "Непрерывное сжатие" (SolidCompression).
Например:
[Setup]
...
Compression=lzma2/ultra64
SolidCompression=true
[Files]
Source: "C:\WINDOWS\Fonts\*"; DestDir: "{app}\Fonts"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Source: "C:\WINDOWS\Cursors\*"; DestDir: "{app}\Cursors"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Также:
sortfilesbyname
Этот флаг указывает компилятору сжимать найденные файлы, отсортированные по имени, прежде чем они будут отсортированы по имени пути. Это уменьшит размер инсталлятора, если используется совместно с директивой "Непрерывное сжатие" (SolidCompression). Если также используется sortfilesbyextension, файлы сначала сортируются по расширению.
[Setup]
...
Compression=lzma2/ultra64
SolidCompression=true
[Files]
Source: "C:\WINDOWS\Fonts\*"; DestDir: "{app}\Fonts"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension sortfilesbyname
Source: "C:\WINDOWS\Cursors\*"; DestDir: "{app}\Cursors"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension sortfilesbyname
SolidCompression
Допустимые значения: »
Не-не, я, слава богу, технический английский пока ещё понимаю ;).
А вот про это:
Совместно с SolidCompression используйте флаг sortfilesbyextension »
опять не знал. Давно, давно не брал я шашек в руки :(. Как перешёл на msi, так и «забил» на InnoSetup.
vk_k14m@vk
24-09-2017, 00:33
Лучшее сжатие интересует? »
Значит если использовать SolidCompression вместе с флагом sortfilesbyextension то не нужно вручную группировать однотипные файлы? Достаточно выбрать всю папку, и тот флаг сам их отсортирует?
Так же если у меня включены компоненты, например папка "1" устанавливается в любом случае, а папки "2а" и "2b" ставятся на выбор. То к этим трем папкам нужно добавлять флаги "solidbreak". Что б сэкономить время на распаковку "2а" если ее не нужно устанавливать?
Значит если использовать SolidCompression вместе с флагом sortfilesbyextension то не нужно вручную группировать однотипные файлы? Достаточно выбрать всю папку, и тот флаг сам их отсортирует? »Да, файлы будут отсортированы автоматически.
Так же если у меня включены компоненты, например папка "1" устанавливается в любом случае, а папки "2а" и "2b" ставятся на выбор. То к этим трем папкам нужно добавлять флаги "solidbreak". Что б сэкономить время на распаковку "2а" если ее не нужно устанавливать? »Имеет смысл добавить флаг solidbreak, но при этом степень сжатия будет чуть хуже.
если у меня включены компоненты, например папка "1" устанавливается в любом случае, а папки "2а" и "2b" ставятся на выбор. То к этим трем папкам нужно добавлять флаги "solidbreak". »
К первой — не надо.
vk_k14m@vk,
У вас объёмный инсталлятор и совместно с SolidCompression может имеет смысл использовать флаг solidbreak.
sortfilesbyextension тоже использую, но это наверное эффективно не сработает когда в типе файла информация совсем другая. Например в drv, вовсе не бинарник, а текст.
vk_k14m@vk
25-09-2017, 06:02
Народ. У меня проблемы с упаковкой. Inni Setup в секции [Files] игнорирует все дальше второй строчки. Первые две запаковывает остальные пропускает. В чем может быть причина?
; Этот сценарий создан с помощью Мастера Inno Setup.
; ОБРАТИТЕСЬ К СПРАВОЧНОЙ ДОКУМЕНТАЦИИ, ЧТОБЫ ИСПОЛЬЗОВАТЬ ВСЕ ВОЗМОЖНОСТИ INNO SETUP!
#define MyAppName "Artificial Academy 2"
#define MyAppVersion "2.0.1"
#define MyAppPublisher "Illusion"
#define MyAppExeName "AA2Play.exe"
[Setup]
; Примечание: Значение AppId является уникальным идентификатором для этого приложения.
; Не используйте одно и тоже значение AppId для разных приложений.
; (Для создания нового значения GUID, выберите в меню "Инструменты" пункт "Создать GUID".)
AppId={{37EDDB6D-1F9B-474F-8FF4-57CC8277B1A7}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
DefaultDirName=D:\Games\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputDir=D:\Inno Setup
OutputBaseFilename=setup
SetupIconFile=D:\Inno Setup\Installer\ico.ico
WizardImageFile=D:\Inno Setup\Installer\WizardImage.bmp
WizardSmallImageFile=D:\Inno Setup\Installer\WizardSmallImage.bmp
Compression=lzma2/ultra64
SolidCompression=yes
DiskSpanning=yes
DiskSliceSize=1536000000
[Languages]
Name: "russian"; MessagesFile: "compiler:\Languages\Russian.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Components]
Name: "Main"; Description: "Artificial Academy 2"; Types: full compact custom; Flags: fixed
Name: "Anticensor"; Description: "Антицензор"; Types: custom
Name: "Anticensor\MKIII"; Description: "МКIII"; Types: custom; Flags: exclusive
Name: "Anticensor\MKIII\clothes"; Description: "Пак одежды для MKIII анцензора"; Types: custom; Flags: exclusive
Name: "Anticensor\SVII"; Description: "SVII"; Types: custom; Flags: exclusive
Name: "Anticensor\SVII\clothes"; Description: "Пак одежды для SVII анцензора"; Types: custom; Flags: exclusive
Name: "Hairstyles"; Description: "Дополнительные прически и лица"; Types: custom;
Name: "Russification"; Description: "Русификатор"; Types: custom;
[Files]
Source: "D:\Inno Setup\Installer\1 Main Files\Artificial Academy 2\AA2Play.exe"; DestDir: "{app}"; Components: Main; Flags: ignoreversion sortfilesbyextension
Source: "D:\Inno Setup\Installer\1 Main Files\Artificial Academy 2\*"; DestDir: "{app}"; Components: Main; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Source: "D:\Inno Setup\Installer\2a MKIII files and clothes\Artificial Academy 2*"; DestDir: "{app}"; Components: Anticensor\MKIII; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak
Source: "D:\Inno Setup\Installer\2b SVII files and clothes\Artificial Academy 2*"; DestDir: "{app}"; Components: Anticensor\SVII; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak
Source: "D:\Inno Setup\Installer\3 Hairstyles files\Artificial Academy 2*"; DestDir: "{app}"; Components: Hairstyles; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak
Source: "D:\Inno Setup\Installer\0 Delete after install\Main\Artificial Academy 2*"; DestDir: "{app}"; Components: Main; Flags: ignoreversion recursesubdirs createallsubdirs deleteafterinstall solidbreak
Source: "D:\Inno Setup\Installer\0 Delete after install\MKIII\Artificial Academy 2*"; DestDir: "{app}"; Components: Anticensor\MKIII; Flags: ignoreversion recursesubdirs createallsubdirs deleteafterinstall solidbreak
Source: "D:\Inno Setup\Installer\0 Delete after install\SVII\Artificial Academy 2*"; DestDir: "{app}"; Components: Anticensor\SVII; Flags: ignoreversion recursesubdirs createallsubdirs deleteafterinstall solidbreak
Source: "D:\Inno Setup\Installer\0 Delete after install\Hairstyles\Artificial Academy 2*"; DestDir: "{app}"; Components: Hairstyles; Flags: ignoreversion recursesubdirs createallsubdirs deleteafterinstall solidbreak
Source: "D:\Inno Setup\Installer\0 Delete after install\MKIII and Hairstyles\Artificial Academy 2*"; DestDir: "{app}"; Components: Anticensor\MKIII and Hairstyles; Flags: ignoreversion recursesubdirs createallsubdirs deleteafterinstall solidbreak
Source: "D:\Inno Setup\Installer\0 Delete after install\SVII and Hairstyles\Artificial Academy 2*"; DestDir: "{app}"; Components: Anticensor\SVII and Hairstyles; Flags: ignoreversion recursesubdirs createallsubdirs deleteafterinstall solidbreak
; Примечание: Не используйте' флаги "ignoreversion" для общих системных файлов.
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Run]
Filename: "{app}\data\AA2Decrypt_fix.bat"; WorkingDir: {app}/data; Description: Упаковка папок...; Flags: waituntilterminated
[UninstallDelete]
Name: {app}\data\*.pp; Type: files
vk_k14m@vk, Рабочий пример (https://yadi.sk/d/hjCgTe783NC2ZW). Можете сходу проверить.
Или удалите ненужные файлы пустышки (*.txt, *.exe) из примера (https://yadi.sk/d/hjCgTe783NC2ZW) и распределите ваше содержимое по каталогам.
Меня лично терзают смутные сомнения насчёт возможно пропущенного обратного слэша, начиная как раз после второй строчки:
[Files]
Source: "D:\Inno Setup\Installer\1 Main Files\Artificial Academy 2\AA2Play.exe"; DestDir: "{app}"; Components: Main; Flags: ignoreversion sortfilesbyextension
Source: "D:\Inno Setup\Installer\1 Main Files\Artificial Academy 2\*"; DestDir: "{app}"; Components: Main; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Source: "D:\Inno Setup\Installer\2a MKIII files and clothes\Artificial Academy 2*"; DestDir: "{app}"; Components: Anticensor\MKIII; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak
Source: "D:\Inno Setup\Installer\2b SVII files and clothes\Artificial Academy 2*"; DestDir: "{app}"; Components: Anticensor\SVII; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak
…
насчёт возможно пропущенного обратного слэша »
Если пользователь укажет:
"C:\Folder\App Files*" то компилятор будет рекурсивно включать файлы с именем "App Files" любых расширений, а также войдут все каталоги с подкаталогами которые находились в текущем каталоге. На выходе будут извлечены файлы с таковыми именами. Также на выходе будут созданы каталоги и подкаталоги, но каталоги с подкаталогами будут пустыми.
Если пользователь укажет:
"C:\Folder\App Files\*" то компилятор рекурсивно включит всё содержимое из каталога App Files.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC