MaGoth
Ты забыл о последовательности исполнения команд в NSIS, а это очень важно!
Если, к примеру перейдем по каким-то причинам к глобальной метке .NextP1, то исполнение кода начнется с этой метки,
дальше по скрипту, следовательно будет исполняться весь код начиная с метки .NextP1
Цитата MaGoth:
Кто что об этом думает ?! »
|
А че тут думать, если есть общие файлы, группируем в одной секции
Код:

Section "share"
;общие файлы для установки
;[...]
SectionEnd
Далее в секции one, делаем определение файлов и в зависимости
нахождения файла: копируем группу файлов - все делается последовательно!
Код:

Section "one"
IfFileExists "$G2ChPath\Speech_Wegelagerer_english.vdf" 0 NextA1
;файлы для установки
;[...]
NextA1:
IfFileExists "$G2ChPath\Data\Speech_Wegelagerer_deutsch.vdf" 0 NextB1
;файлы для установки
;[...]
NextB1:
;---
SectionEnd
А вот аналог на логической конструкции, для меня так удобнее...
Код:

Section "one"
${If} ${FileExists} "$G2ChPath\Speech_Wegelagerer_english.vdf"
;файлы для установки
;[...]
${ElseIf} ${FileExists} "$G2ChPath\Data\Speech_Wegelagerer_deutsch.vdf"
;файлы для установки
;[...]
${EndIf}
SectionEnd
На примере логической конструкции выше работает принцип: если найден один из указанных файлов - копируем группу файлов, остальные группы будут игнорироваться в любом случае.
Если нужно копировать несколько групп файлов (при нахождении указанных файлов) можно делать так:
Код:

Section "one"
${If} ${FileExists} "$G2ChPath\Speech_Wegelagerer_english.vdf"
;файлы для установки
;[...]
${EndIf}
${If} ${FileExists} "$G2ChPath\Data\Speech_Wegelagerer_deutsch.vdf"
;файлы для установки
;[...]
${EndIf}
SectionEnd