仅在注册表值包含特定值的情况下,如何才能在InstallShield项目上安装功能?该值只能是“是”或“否”。
我试图像这样配置系统搜索:
根:HKLM 密钥:软件\ MyKey \ the_key_to_check
值:我将其留空
将值存储在此属性中:ISVALUE(刚刚创建的属性,没有任何值),然后“仅将值存储在属性中”。
然后,在我的特征条件下: 安装等级:1 条件:等级:200,ISVALUE =是
尝试的结果是->如果MyValue等于YES,则安装该功能,否则,不安装该功能。但这情况似乎从未得到评估。
有人可以帮助我执行此任务吗?
答案 0 :(得分:0)
INSTALLLEVEL :由Chris Painter提供的对 INSTALLLEVEL
概念的快速回顾:Set sub-features to not install by default。本质上:每个功能都有一个级别值,整个设置都有一个整体 INSTALLLEVEL
。默认情况下会安装 INSTALLLEVEL
或以下的所有功能。我认为Installshield中的默认 INSTALLLEVEL
是 100
(可调)。
Installshield :这是带有Installshield屏幕截图的功能条件示例:Preselecting Features within an InstallShield Basic MSI Project。一种特殊情况是,当您将 Level
设置为 0
时-您不安装该功能,也不将其从设置GUI中隐藏(请参阅下面的链接,了解为什么将此功能设置为默认值是一个非常糟糕的主意-我认为可以在条件中进行分配,但是,请不要将其设为默认值。
建议 :您可以尝试执行以下操作:
选项1: Level: 0, Condition: ISVALUE=NO
(在GUI中隐藏功能,如果ISVALUE = NO,则不安装功能)
选项2: Level: 101, Condition: ISVALUE=NO
(如果ISVALUE = NO,则不安装功能)
对于这两个选项,请记住将默认功能级别设置为“默认安装”。换句话说,等于或低于安装程序的整体INSTALLLEVEL。例如 100
。
某些链接 :