Thanks all who have responded. I followed MikeR's comments and came up with
the following - I found that I had to reference the x64 Architecture
variable when defining both the Component and the ComponentRef within the
Feature  section, as follows:

<!-- 32-bit Licencing Registry Keys -->
<Component Id="x86LicencingRegistryKeys"
Guid="D113AD25-9E80-44E9-80C0-D66828809DBF" Win64="no">

        <!-- Validation Code Registry Key -->
        <RegistryKey Id="x86ValidationCodeRegKey" Root="HKLM"
Key="SOFTWARE\Product\Licencing" Action="createAndRemoveOnUninstall">
                <RegistryValue Id="x86ValidationCodeRegValue" 
Name="ValidationCode"
Action="write"
Value="BgIAAACkAABSU0ExgAEAAAEAAQD9iAIysvGIxaJcIiENpOVTZbQosafHa9yXlfG0kxSWKJ01Hlfl+I+4ul5LhxoZkLo="
Type="string" />
                <Permission User="Administrators" ChangePermission="yes" 
GenericAll="yes"
/>
                <Permission User="CREATOR OWNER" ChangePermission="yes" 
GenericAll="yes"
/>
                <Permission User="Power Users" ChangePermission="yes" 
GenericAll="yes" />
                <Permission User="SYSTEM" ChangePermission="yes" 
GenericAll="yes" />
                <Permission User="Users" ChangePermission="yes" GenericAll="no"
GenericRead="yes" />
        </RegistryKey>
        <!-- *end* Validation Code Registry Key -->

        <!-- Licence Key Registry Key -->
        <RegistryKey Id="x86LicenceKeyRegKey" Root="HKLM"
Key="SOFTWARE\Product\Licencing" Action="createAndRemoveOnUninstall">
                <RegistryValue Id="x86LicenceKeyRegValue" Name="LicenceKey" 
Action="write"
Value="" Type="string" />
                <Permission User="Administrators" ChangePermission="yes" 
GenericAll="yes"
/>
                <Permission User="CREATOR OWNER" ChangePermission="yes" 
GenericAll="yes"
/>
                <Permission User="Power Users" ChangePermission="yes" 
GenericAll="yes" />
                <Permission User="SYSTEM" ChangePermission="yes" 
GenericAll="yes" />
                <Permission User="Users" ChangePermission="yes" GenericAll="no"
GenericRead="yes" />                            
        </RegistryKey>
        <!-- *end* Licence Key Registry Key -->
                        
</Component>
<!-- *end* 32-bit Licencing Registry Keys -->

<?if $(var.Architecture)=x64 ?> 
<!-- 64-bit Licencing Registry Keys -->
<Component Id="x64LicencingRegistryKeys"
Guid="49A15EB4-2DF8-4FF9-83ED-D306F076E232" Win64="yes">

        <!-- Validation Code Registry Key -->
        <RegistryKey Id="x64ValidationCodeRegKey" Root="HKLM"
Key="SOFTWARE\Product\Licencing" Action="createAndRemoveOnUninstall">
                <RegistryValue Id="x64ValidationCodeRegValue" 
Name="ValidationCode"
Action="write"
Value="BgIAAACkAABSU0ExgAEAAAEAAQD9iAIysvGIxaJcIiENpOVTZbQosafHa9yXlfG0kxSWKJ01Hlfl+I+4ul5LhxoZkLo="
Type="string" />
                <Permission User="Administrators" ChangePermission="yes" 
GenericAll="yes"
/>
                <Permission User="CREATOR OWNER" ChangePermission="yes" 
GenericAll="yes"
/>
                <Permission User="Power Users" ChangePermission="yes" 
GenericAll="yes" />
                <Permission User="SYSTEM" ChangePermission="yes" 
GenericAll="yes" />
                <Permission User="Users" ChangePermission="yes" GenericAll="no"
GenericRead="yes" />
        </RegistryKey>
        <!-- *end* Validation Code Registry Key -->

        <!-- Licence Key Registry Key -->
        <RegistryKey Id="x64LicenceKeyRegKey" Root="HKLM"
Key="SOFTWARE\Product\Licencing" Action="createAndRemoveOnUninstall">
                <RegistryValue Id="x64LicenceKeyRegValue" Name="LicenceKey" 
Action="write"
Value="" Type="string" />
                <Permission User="Administrators" ChangePermission="yes" 
GenericAll="yes"
/>
                <Permission User="CREATOR OWNER" ChangePermission="yes" 
GenericAll="yes"
/>
                <Permission User="Power Users" ChangePermission="yes" 
GenericAll="yes" />
                <Permission User="SYSTEM" ChangePermission="yes" 
GenericAll="yes" />
                <Permission User="Users" ChangePermission="yes" GenericAll="no"
GenericRead="yes" />                            
        </RegistryKey>
        <!-- *end* Licence Key Registry Key -->
                        
</Component>
<!-- *end* 64-bit Licencing Registry Keys -->
<?endif ?> 
 

<Feature Id="Complete" Title="TITLE" Description="Complete Package"
Display="expand" Level="1" ConfigurableDirectory="INSTALLDIR">
<ComponentRef Id="x86LicencingRegistryKeys" /> <!-- 32-bit Licencing
Registry Keys -->
<?if $(var.Architecture)=x64 ?><ComponentRef Id="x64LicencingRegistryKeys"
/><?endif ?> <!-- 64-bit Licencing Registry Keys -->
</Feature>

Many thanks for your help.

Nick.



-- 
View this message in context: 
http://n2.nabble.com/64-bit-and-32-bit-Registry-Keys-in-same-MSI-tp4439679p4448953.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to