Quicktime正在安装时安装

时间:2015-07-06 19:19:27

标签: wix quicktime

我有一个WIX安装程序包,其中包含QuickTime作为先决条件。我试图检查一个注册表项,以确定它是否已安装,但它总是返回false。

日志显示......

[08B4:040C] [2015-07-06T10:50:14] i000:找不到注册表项。键=' HKEY_LOCAL_MACHINE \ SOFTWARE \ Clients \ Media \ QuickTime' [08B4:040C] [2015-07-06T10:50:14] i000:设置数字变量' QuickTimeFound64'值为0 [08B4:040C] [2015-07-06T10:50:14] i000:找不到注册表项。键=' HKEY_LOCAL_MACHINE \ SOFTWARE \ Clients \ Media \ QuickTime'

注册表是......

enter image description here

代码是......

<util:RegistrySearch Root="HKLM" Key="HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Media\QuickTime" Result="exists" Variable="QuickTimeFound64" Win64="yes" />
<util:RegistrySearch Root="HKLM" Key="HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Media\QuickTime" Result="exists" Variable="QuickTimeFound32" Win64="no" />

    <Chain>
        <PackageGroupRef Id="PackageGroup_NetFx35Redist"/>
        <PackageGroupRef Id="PackageGroup_NetFx40Redist"/>
        <PackageGroupRef Id="PackageGroup_SQLServer2012"/>

        <ExePackage Id="Package_QuickTime" Cache="no" Compressed="$(var.Compressed)" 
                      Description="Apple QuickTime 7" DownloadUrl="$(var.GuruDownloadRepo)/{2}" 
                      SourceFile="..\Prerequisites\QuickTimeInstaller.exe" 
                      Name="Prerequisites\QuickTimeInstaller.exe" 
                      Permanent="yes" DisplayName="Apple QuickTime 7" 
                      DetectCondition="QuickTimeFound64 AND QuickTimeFound32" />

我试过包括&#34; Wow6432Node&#34;在64位路径,但它没有任何区别。

有谁可以告诉我为什么这两个搜索都会回复为假?

1 个答案:

答案 0 :(得分:2)

使用

SOFTWARE\Clients\Media\QuickTime

而不是

HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Media\QuickTime

因为在Root属性中指定了HKEY_LOCAL_MACHINE。