Wix bootstrapping。检查是否已安装Sap Crystal报告

时间:2014-08-08 12:31:12

标签: crystal-reports wix wix3.6

我尝试过以下注册表搜索

<util:RegistrySearch Root="HKLM"
                     Key="SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\"                         
                     Value="CRRuntime32Version"
                     Variable="CR32Version"
                     Format="raw"
                     Result="value"/>
<util:RegistrySearch Root="HKLM"
                     Key="SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\"
                     Value="CRRuntime64Version"
                     Variable="CR64Version" 
                     Format="raw"
                     Result="value"/>

我已经为msi包使用了Install条件,如下所示

<MsiPackage SourceFile="$(var.MyDir)\CRRuntime_64bit_13_0_9.msi" 
              InstallCondition="VersionNT64 AND (NOT (CR64Version >= 13.0.9))"
              Permanent="yes"/>
<MsiPackage SourceFile="$(var.MyDir)\CRRuntime_32bit_13_0_9.msi" 
              InstallCondition="NOT VersionNT64 AND (NOT (CR32Version >= 13.0.9))"
              Permanent="yes"/>

当我尝试安装使用上述设置生成的exe时,我收到以下错误。

[1B0C:0A7C][2014-08-08T17:54:35]i000: Registry value not found. Key = 'SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\', Value = 'CRRuntime64Version'
[1B0C:0A7C][2014-08-08T17:54:35]i000: Registry value not found. Key = 'SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\', Value = 'CRRuntime32Version'
[1B0C:0A7C][2014-08-08T17:54:37]e000: Error 0x8007000d: Failed to parse condition "VersionNT64 AND (NOT (CR64Version >= 13.0.9))". Unexpected character at position 39.

当我检查手动打开regedit并检查时,我发现CRRuntime64Version为13.0.9。 我真的迷失在解决这个问题上。我花了差不多一天时间才试图解决这个问题。 我也搜索了这个问题,但我没有得到相关信息。

请帮我解决。

1 个答案:

答案 0 :(得分:2)

在注册表搜索中使用Win64="yes"告诉它搜索64位注册表。在您的情况下将>替换为&gt;以修复您的其他错误。