0
votes

I have a WIX installer bundle that has QuickTime as a prereq. I trying to check a registry key to determine if it's already installed but it always comes back false.

The log shows...

[08B4:040C][2015-07-06T10:50:14]i000: Registry key not found. Key = 'HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Media\QuickTime' [08B4:040C][2015-07-06T10:50:14]i000: Setting numeric variable 'QuickTimeFound64' to value 0 [08B4:040C][2015-07-06T10:50:14]i000: Registry key not found. Key = 'HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Media\QuickTime'

The registry is ...

enter image description here

The code is ...

<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" />

I have tried including "Wow6432Node" in the 64bit path but it didn't make any difference.

Can anyone tell me why both of the searches are coming back as false?

1

1 Answers

2
votes

Use

SOFTWARE\Clients\Media\QuickTime

instead of

HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Media\QuickTime

because HKEY_LOCAL_MACHINE is specified in the Root attribute.