Цитата: david141
Сразу скажу, что мне не понятно, что вы понимаете под фразой “Выборочная установка”.
Можно легко обойтись стандартными страницами NSIS
Страница компонентов с выбором типа установки
и в секции Компоненты – 2 и 3 вы найдёте решение с прикреплённым файлом.
Код: ; -- выбор для секции компонентов --!
!include Sections.nsh
Insttype "/CUSTOMSTRING= Ваш личный выбор"
Insttype " Стандартная установка" # SectionIn 1
Insttype " Выборочная установка" # SectionIn 2
; -- секции выбора компонентов --!
Section "!Firefox ${VERSION}"
SectionIn RO ; заглушка!
SectionEnd
SubSection /e "!Компоненты" ; ключ /e раскрывает список!
Section "Компоненты - 1"
SectionIn 1
SetOutPath $INSTDIR ; куда вставлять!
SetDateSave off ; не менять дату!
SetOverwrite ifnewer ; если новее или on перезаписывать или off не перезаписывать!
File "core\ваш_файл.exe" ; от куда брать!
; -- ваш дальнейший код --!
SectionEnd
Section /o "Компоненты - 2" ; ключ /o не активный по умолчанию!
SectionIn 2
BringToFront # скрывает окно копирования, то есть главное окно будет поверх окна копирования!
Copyfiles /SILENT "$EXEDIR\core\core_1.exe" $INSTDIR\core_1.exe # паравозик!
SectionEnd
Section /o "Компоненты - 3"
SectionIn 1 2
; или использовать простой но для этого цели очень эффективный банер SpiderBanner!
; Если используется плагин, его надо сначала скачать и поместить DLL в папку /Plugins
; и верхней части заголовка скрипта примерно после !include MUI.nsh поместить следующую строку
; ReserveFile "${NSISDIR}\Plugins\SpiderBanner.dll" ; зарезервировать плагин!
SpiderBanner::Show /NOUNLOAD /BR 200 ; запускается банер и скрывает главное окно!
Copyfiles /SILENT "$EXEDIR\core\core_2.exe" "$INSTDIR\core_2.exe" # паравозик!
SpiderBanner::Destroy ; закрывается банер и возвращяет главное окно!
SectionEnd
SubSectionEnd
; -- конец секций компонентов --!