Компоненты общих файлов в nsis - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть 4 компонента nsis, у них есть несколько общих файлов, и каждый из них имеет свою папку.

Как включить общие файлы и скопировать их в папку выбранных компонентов? обычно, если я включаю общие файлы вместе с «Файл» в раздел, тогда в установщике будут повторяющиеся файлы, и установщик будет таким тяжелым.

Что я могу сделать для этой проблемы?

1 Ответ

0 голосов
/ 12 сентября 2018

Насколько я понимаю, инструкция SetDatablockOptimize оптимизирует установщик и не будет содержать дубликаты файлов.

Эта команда сообщает компилятору, следует ли оптимизировать блоки данных. Оптимизация блока данных имеет проверку компилятором, чтобы увидеть, есть ли какие-либо данные, добавляемые в блок данных, уже в блоке данных, и, если это так, на них просто ссылаются, а не добавляют (можно сэкономить немного размера). Настоятельно рекомендуется оставить этот параметр включенным.

Кроме того, вы всегда можете использовать функции, которые извлекают файлы и изменяют путь вывода перед вызовом этих функций.

Section
  SetOutPath "first_path"
  Call ExtractBaseFiles

  SetOutPath "second_path"
  Call ExtractBaseFiles
SectionEnd

Function ExtractBaseFiles
  File "first_file"
  File "second_file"
FunctionEnd
...