加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

使用在Wix中创建的x86 mai包写入注册表的x64部分

发布时间:2020-12-14 02:00:59 所属栏目:Windows 来源:网络整理
导读:我正在使用Wix为产品编写安装包,整个过程是在x86中,但现在我需要在注册表的x64部分添加一个密钥.我环顾四周,找到了 this stack answer,我认为这可以解决我的问题.但我收到ICE80错误(不是警告),它告诉我我基本上需要将我的Package Platform属性更改为x64. 但
我正在使用Wix为产品编写安装包,整个过程是在x86中,但现在我需要在注册表的x64部分添加一个密钥.我环顾四周,找到了 this stack answer,我认为这可以解决我的问题.但我收到ICE80错误(不是警告),它告诉我我基本上需要将我的Package Platform属性更改为x64.

但我宁愿避免这种情况,因为正如我所提到的那样,只有一个注册表项需要在x64中.

所以我的问题是:是否有另一种解决ICE80错误的方法,或者我需要构建两个msi包,一个用于x86,另一个用于x64.

以下是我的一些代码,以进一步说明我正在尝试做的事情:

<Component Id="Foo" Guid="{GUID}" Win64="yes">
    <RegistryKey Root="HKLM" Key="SoftwareMicrosoftWindows NTCurrentVersionTerminal ServerCompatibilityIniFiles">
      <RegistryValue Type="integer" Name="Hello" Value="1"/>
    </RegistryKey>
    <Condition><![CDATA[VersionNT64]]></Condition>
  </Component>

  <Component Id="Bar" Guid="{GUID}">
    <RegistryKey Root="HKLM" Key="SoftwareMicrosoftWindows NTCurrentVersionTerminal ServerCompatibilityIniFiles">
      <RegistryValue Type="integer" Name="Hello" Value="1"/>
    </RegistryKey>
  </Component>

任何帮助表示赞赏!

解决方法

Windows Installer不支持写入64位注册表(或文件系统)的32位程序包. 64位软件包可以写入32位和64位部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读