Здравствуйте, WPooh, Вы писали:
WP>1) На диалоге выбора с чекбоксиками, выбираются Features а не Components.
Все правильно, именно Features я и назвал компонентами — моя ошибка в терминологии.
Вот что имеем:
<Directory ...>
<Component Id="WstComponent" ... >
<File Id="File1_1" ... />
<File Id="File1_2" ... />
</Component>
</Directory>
<Directory ...>
<Component Id="SrvComponent" ... >
<File Id="File2_1" ... />
<File Id="File2_2" ... />
...
</Component>
</Directory>
Как видно из кода — две различные компоненты: для установки на сервер и на рабочую станцию. Далее прописываем фичи — для каждой фичи свой компонент:
<Feature Id="ServerInstall" Description="SRVR Components." Level="1" Title="SRVR" >
<ComponentRef Id="SrvComponent" />
</Feature>
<Feature Id="WStationInstall" Description="WS Components." Level="1" Title="WS" >
<ComponentRef Id="WstComponent" />
</Feature>
Только мое предложение не CheckBox, а RadioButtonGroup, которая лежит на форме фыбора типа инсталляции:
<UI>
<RadioButtonGroup Property="TpInstall">
<RadioButton Text="To server" Value="Server" ... />
<RadioButton Text="To workstation" Value="WStation" ... />
</RadioButtonGroup>
<Dialog Id="SelectTpInstall" ...>
<Control Id="ButtonsTpInstall" Type="RadioButtonGroup" Property="TpInstall" />
</Dialog>
</UI>
Как видно их кода, по соответствующей кнопке устанавливается проперть TpInstall.
Так вот хотелось бы в зависимости от установленного значения TpInstall (Server или WStation) заблокировать соответствующую фичу (если установлено Server, то заблокировать фичу "WStationInstall", и наоборот).
А вот как это сделать? Пробовал так:
<Feature Id="ServerInstall" Description="SRVR Components." Level="1" Title="SRVR" >
<Condition Level="2">TpInstall <> "Server"</Condition>
<ComponentRef Id="SrvComponent" />
</Feature>
<Feature Id="WStationInstall" Description="WS Components." Level="1" Title="WS" >
<Condition Level="2">TpInstall <> "WStation"</Condition>
<ComponentRef Id="WstComponent" />
</Feature>
Не получилось
Что не так? Если можно, то сразу код.
Заранее благодарю.