如何让功能依赖于系统依赖性(例如powershell),但仍向用户表明安装程序中提供了此功能。
目前的功能如下(截图): Feature List
我目前的想法是在功能上加上条件:
<Property Id="POWERSHELL_3_INSTALLED">
<RegistrySearch Id="Powershell3Installed"
Root="HKLM"
Key="SOFTWARE\Microsoft\PowerShell\3"
Type="raw"
Name="Install" />
</Property>
<Feature Id="TestFeature"
Title="Test Feature"
Description="Test Feature Description. Note: This feature requires Powershell 3 or higher."
Level="1"
Absent="allow"
InstallDefault="local"
AllowAdvertise="no">
<Condition Level="0">
<![CDATA[(POWERSHELL_3_INSTALLED <> "#1") AND NOT REMOVE]]>
</Condition>
</Feature>
对于没有安装PowerShell的用户,这会隐藏TestFeature
,阻止他们安装它,但这样,如果用户安装PowerShell,用户就不会意识到这个额外功能可用。
任何想法如何实现这一目标?
答案 0 :(得分:2)
Windows Installer中的SelectionTree控件不支持显示已禁用的功能。你必须重新实现 - 例如,使用复选框。