我正在尝试在我的安装程序中添加一个检查,这样如果没有特定的注册表项,它就必须失败。这大致就是我正在做的事情:
<Property Id="REGVALUE">
<RegistrySearch Id="regval" Root="HKLM" Key="SOFTWARE\Foo" Type="raw"/>
</Property>
<Condition Message="Valid Foo value not present. Found [REGVALUE]">
<![CDATA[REGVALUE = "Bar" OR REMOVE ~= "ALL"]]>
</Condition>
我遇到的问题是这种情况总是失败。我尝试查询不同的注册表项,无论我尝试什么,我总是得到一个空白值。在安装日志中,我看不到对注册表的任何访问权限,也没有看到与注册表相关的任何错误。所以我有点迷茫。我错过了一些明显的东西吗?
答案 0 :(得分:1)
发现问题。问题是安装程序ui序列中的操作顺序不正确,导致在运行注册表查询之前检查条件。