2016-10-24 32 views
0

這是我的要求:如果web.config文件存在D:\ default \ website \ web.config我必須將一些文件複製到D:\ default \ website位置,否則將相同的文件複製到C:\ inetpub \ wwwroot位置。如何在Wix工具集中使用if..else條件?

如何在.wxs文件中編寫此條件?

回答

1

爲了檢測文件的存在,您必須在DirectorySearch元素下嵌套FileSearch元素。

<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