2016-10-24 9 views
0

Вот мое требование: если файл web.config существует в D: \ default \ website \ web.config Мне нужно скопировать некоторые файлы в D: \ default \ website location else копировать те же файлы в C: \ inetpub \ wwwroot место нахождения.Как использовать if..else условие в наборе инструментов Wix?

Как написать это условие в файле .wxs?

ответ

1

Вы должны вставить элемент FileSearch под элементом DirectorySearch, чтобы обнаружить наличие файла.

<Property Id="WEB_CONFIG_UNDER_D"> 
    <DirectorySearch Path="D:\default\website" 
     Depth="0" 
     AssignToProperty="no" 
     Id="DefaultWebsiteSearch"> 
     <FileSearch Name="web.config" 
      Id="webconfigSearch" /> 
    </DirectorySearch> 
</Property> 

Теперь вы можете проверить, если свойство WEB_CONFIG_UNDER_D существует, а затем использовать различные TargetDirectories на основе этого свойства.

Я не уверен, чего вы пытаетесь достичь. Если вы хотите правильно создать новый веб-сайт, вам придется заняться гораздо более сложным маршрутом, как описано в вопросе SO wix installer/Create web-site and assign the new or exisiting web app pool.

+0

Как проверить WEB_CONFIG_UNDER_D существует или не используя .. meshsf

+0

У меня есть набор файлов, которые я хочу, чтобы скопировать в D: \ диск, если существует файл web.config, если не я должен скопировать C: \ – meshsf

+0

Конструкция [] (http://wixtoolset.org/documentation/manual/v3/overview/preprocessor.html) используется в сочетании с препроцессорными переменными. Это означает, что эта конструкция имеет смысл только в том случае, если вы хотите проверить условия на машине разработчика. Описанное выше свойство может быть просто использовано как условие характеристики. Создайте две функции, которые устанавливаются в D:, а другая - в C: – BdN3504