Recording in x64 part of the registry using another x86 mai package created in Wix

I am writing an installation package for a product using Wix, all on x86, but now I need to add the key to the x64 registry part. I looked around and found this answer on the stack , which I thought would solve my problem. But I get an ICE80 error (not a warning) that tells me that I basically need to change the Platform Platform attribute to x64.

However, I would rather avoid this, because since I mentioned this, there is only one registry key that should be in x64.

So my question is: is there another way to resolve the ICE80 error, or do I need to create two msi packages, one for x86 and one for x64.

Here are some of my codes to illustrate again what I'm trying to do:

        <Component Id="Foo" Guid="{GUID}" Win64="yes">
    <RegistryKey Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\IniFiles">
      <RegistryValue Type="integer" Name="Hello" Value="1"/>
    </RegistryKey>
    <Condition><![CDATA[VersionNT64]]></Condition>
  </Component>

  <Component Id="Bar" Guid="{GUID}">
    <RegistryKey Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\IniFiles">
      <RegistryValue Type="integer" Name="Hello" Value="1"/>
    </RegistryKey>
  </Component>

!

+5
3

Windows 32- 64- ( ). 64- 32-, 64- .

+6

, . Wix v10 x86 WIX Win64="yes" ICE80. ( Visual Studio, " " → " :" ), . x86 Windows 2012 R2, x64 .

+1

Add Win64="yes"to the registry entry that you want to put in 64-bit in the registry .. :) I have not included the condition in my own, and it works fine with only the Win64 attribute.

0
source

All Articles