documentation для if
/ifdef
немного сбивает с толку. Для <?if [expression] ?>
, говорится:Как проверить наличие переменной окружения?
- Переменные могут быть использованы для проверки существования
...- Если переменная не существует, оценка будет прервана и будет сгенерирована ошибка.
Оказывается, если вы просто идете: <?if $(env.MY_VAR) ?>
и MY_VAR
не определен, компиляция потерпит неудачу. Как проверить наличие?
Обычно здесь используется ifdef
, но они работают странно и в Виксе. Вместо использования синтаксиса $(var.Variable)
они используют <?ifdef Variable?>
, что означает, что переменные не могут быть проверены таким образом.
Что мне нужно сделать, чтобы получить эквивалент нормали препроцессора:
#ifdef MY_ENVIRONMENT_VARIABLE
в Wix?
Примечание: ' Ifdef MY_ENVIRONMENT_VARIABLE?>' Не работает самостоятельно. – fredley