Цитата inco1:
Правильно ли расставил ${EndIf} с такими условиями. »
|
Для начала надо отформатировать код так, чтобы отступы отражали степень вложенности фрагментов этого кода.
Так будет легче увидеть логические ошибки, которые не ловятся компилятором.
Скрытый текст
Код:

Section Run64
; если запущено на х64
${If} ${RunningX64}
; (здесь некое действие) ;; == произойдет некое действие
${If} ${FileExists} "$R1\A.exe"
; (здесь некое действие) ;; == если найден файл A.exe, то произойдет некое действие
${EndIf}
${IfNot} ${FileExists} "$R2\A.txt"
${AndIfNot} ${FileExists} "$R2\B.txt" ;; == если не найден файл A.txt и B.txt , то произойдет некое действие
; (здесь некое действие)
${EndIf}
${IfNot} ${FileExists} "$R3\B.exe" ;; == если не найден файл B.exe, то произойдет некое действие
; (здесь некое действие)
${EndIf}
${If} $R4 != 1234567890 ;; == если значение переменной $R4 не равно 1234567890, то произойдет некое действие
; (здесь некое действие)
${If} ${FileExists} "$R5\C.exe" ;; == если значение переменной $R4 не равно 1234567890, и найдены файлы C.exe и D.exe, то произойдет некое действие
${AndIf} ${FileExists} "$R5\D.exe"
; (здесь некое действие)
${EndIf}
; (здесь некое действие) ;; == если значение переменной $R4 не равно 1234567890, то произойдет некое действие
${EndIf}
; (здесь некое действие) ;; == если значение переменной $R4 не равно 1234567890, то произойдет некое действие
${EndIf}
SectionEnd
Далее нужно избавляться от избыточной вложенности и/или сложности, порой с изменением структуры проекта.