Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для kotkovets

Ветеран


Сообщения: 1216
Благодарности: 486

Профиль | Отправить PM | Цитировать


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

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ.


Отправлено: 12:07, 22-09-2011 | #1654