WIX找到注册表路径但不满足条件

时间:2015-02-22 00:21:28

标签: wix

我的基于WIX的安装程序正在尝试验证现有的注册表项。然后满足继续安装的条件。虽然“MS Project”存在,但我的情况失败了。

<Property Id="MSPROJECT2013">
<RegistrySearch Id="MSProject2013"
Root="HKCU"
Key="Software\Microsoft\Office\15.0\MS Project"
Name="ProjectName"
Type="raw" />
</Property>

<Condition Message="This application requires MS Project 2010 or 2013.">
<![CDATA[Installed OR MSPROJECT2013]]>
</Condition>

相关的详细输出:

Action 16:59:35: AppSearch. Searching for installed applications
Action start 16:59:35: AppSearch.
AppSearch: Property: MSPROJECT2013, Signature: MSProject2013
MSI (c) (14:00) [16:59:35:547]: Note: 1: 2262 2: Signature 3: -2147287038 
Action ended 16:59:35: AppSearch. Return value 1.

This application requires MS Project 2010 or 2013.
MSI (c) (14:00) [16:59:36:582]: Note: 1: 2205 2:  3: Error 
MSI (c) (14:00) [16:59:36:582]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1709 
MSI (c) (14:00) [16:59:36:582]: Product: reporting -- This application requires MS Project 2010 or 2013.

我认为这是权限问题,但注册表权限很好。我尝试了其他地方,但它仍然失败了。我在注册表中找不到ProductID或UpgradeCode(作为卸载/安装失败)!我还运行了Microsoft Fixit,取代了他们的安装清理工具。可能是什么问题?

1 个答案:

答案 0 :(得分:0)

RegistrySearch失败了;如果成功,则日志将包含一行报告在新属性值中找到的值。