WiX Heat.exe Win64组件-Win64 =“ yes”

干扰器

目前,我正在构建仅针对64位计算机的安装程序。该过程的一部分涉及运行Heat.exe以产生Fragment包含部分已部署应用程序元素。

问题是由发热产生的组件产生ICE:80错误,WiX抱怨这些组件针对32位系统,我的安装程序正在尝试将其加载到:

<Directory Id="ProgramFiles64Folder">

查看文档,有一个-platform开关可以用来告诉Heat我们我们的目标是x64环境,但是文档中没有关于如何使用此开关的线索。我试过了:

-platform=x64

-platform=Win64

为了Win64在生成的组件上设置属性,似乎什么都不会影响输出有人知道吗?还是我完全将错误的树吠叫?

如果我手动编辑收集的成分以添加Win64="yes"ICE,错误就会消失。

在我的<Product>元素中Platform="x64",据我所知,candle应该采取这种做法,并确定默认情况下组件应设置为x64,但这似乎不起作用。

非常困惑。

甜品

这是XSLT文件。将其另存为HeatTransform.xslt

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
    xmlns="http://schemas.microsoft.com/wix/2006/wi"
  exclude-result-prefixes="wix">

  <xsl:output method="xml" encoding="UTF-8" indent="yes" />

  <xsl:template match="wix:Wix">
    <xsl:copy>
      <!-- The following enters the directive for adding the config.wxi include file to the dynamically generated file -->
      <!--xsl:processing-instruction name="include">$(sys.CURRENTDIR)wix\config.wxi</xsl:processing-instruction-->
      <xsl:apply-templates select="@*" />
      <xsl:apply-templates />
    </xsl:copy>
  </xsl:template>

  <!-- ### Adding the Win64-attribute to all Components -->
  <xsl:template match="wix:Component">

    <xsl:copy>
      <xsl:apply-templates select="@*" />
        <!-- Adding the Win64-attribute as we have a x64 application -->
        <xsl:attribute name="Win64">yes</xsl:attribute>

        <!-- Now take the rest of the inner tag -->
        <xsl:apply-templates select="node()" />
    </xsl:copy>

  </xsl:template>

  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()" />
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>

然后,在您的heat命令行中添加参数-t <PathToYourFile>\HeatTransform.xslt这会将Win64-attribute添加到每个组件。另外,我Platform='x64'在WiX源文件中具有-attribute,并将-arch x64-parameter添加到的调用中candle,正如您在问题中已经描述的那样。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Wix \ heat.exe奇怪的输出

来自分类Dev

#ifdef WIN32 #elif WIN64 #endif

来自分类Dev

在Delphi XE4 Win64平台中无法使用cl.exe编译的C.OBJ文件

来自分类Dev

将ASM指令RDRand转换为Win64

来自分类Dev

为什么在Win64上对GetDIBits的调用失败?

来自分类Dev

安装Tensorflow Spyder | Python 3.7 Win64版

来自分类Dev

Apache 2.4.39 Win64成功启动

来自分类Dev

win64下的Julia笔记本

来自分类Dev

使MSBuild编译具有Win32和Win64平台依赖项的项目

来自分类Dev

osgi.os属性的“ win32”和“ win64”

来自分类Dev

python输出信息中的win32 ro win64?

来自分类Dev

python输出信息中的win32 ro win64?

来自分类Dev

为Win32和Win64开发的最低Visual Studio版本是哪个?

来自分类Dev

可变函数在Win32中起作用,但在Win64中不起作用

来自分类Dev

在 WIN32 和 WIN64 中配置浮点单元上下文

来自分类Dev

Visual Studio中的_WIN64和TARGET_X64宏之间的特定区别

来自分类Dev

Visual Studio中的_WIN64和TARGET_X64宏之间的特定区别

来自分类Dev

如何在Wix中引用heat.exe生成的wxs文件中的File元素

来自分类Dev

WiX Heat.exe生成导致错误ICE57的wxs文件

来自分类Dev

WiX Heat.exe生成导致错误ICE57的wxs文件

来自分类Dev

Wix heat.exe 命令行开关“-directoryid”在做什么?

来自分类Dev

如何在Delphi Win64中获取当前用户的全名

来自分类Dev

当其中的单元使用DesignEditors DesignIntf时,如何为WIN64构建delphi项目?

来自分类Dev

C ++(Win64 / PC)中用户定义类型的静态初始化

来自分类Dev

康达安装(或任何其他命令)不适用于Win64

来自分类Dev

Visual Studio 2015 Win64在解决方案构建期间挂起

来自分类Dev

为Win64构建mongo-c-driver-1.16.2时出现问题

来自分类Dev

使用Visual Studio 2015 Win64编译MySQL连接器

来自分类Dev

无法在Win64上启动ncat-需要安装libeay32.dll

Related 相关文章

  1. 1

    Wix \ heat.exe奇怪的输出

  2. 2

    #ifdef WIN32 #elif WIN64 #endif

  3. 3

    在Delphi XE4 Win64平台中无法使用cl.exe编译的C.OBJ文件

  4. 4

    将ASM指令RDRand转换为Win64

  5. 5

    为什么在Win64上对GetDIBits的调用失败?

  6. 6

    安装Tensorflow Spyder | Python 3.7 Win64版

  7. 7

    Apache 2.4.39 Win64成功启动

  8. 8

    win64下的Julia笔记本

  9. 9

    使MSBuild编译具有Win32和Win64平台依赖项的项目

  10. 10

    osgi.os属性的“ win32”和“ win64”

  11. 11

    python输出信息中的win32 ro win64?

  12. 12

    python输出信息中的win32 ro win64?

  13. 13

    为Win32和Win64开发的最低Visual Studio版本是哪个?

  14. 14

    可变函数在Win32中起作用,但在Win64中不起作用

  15. 15

    在 WIN32 和 WIN64 中配置浮点单元上下文

  16. 16

    Visual Studio中的_WIN64和TARGET_X64宏之间的特定区别

  17. 17

    Visual Studio中的_WIN64和TARGET_X64宏之间的特定区别

  18. 18

    如何在Wix中引用heat.exe生成的wxs文件中的File元素

  19. 19

    WiX Heat.exe生成导致错误ICE57的wxs文件

  20. 20

    WiX Heat.exe生成导致错误ICE57的wxs文件

  21. 21

    Wix heat.exe 命令行开关“-directoryid”在做什么?

  22. 22

    如何在Delphi Win64中获取当前用户的全名

  23. 23

    当其中的单元使用DesignEditors DesignIntf时,如何为WIN64构建delphi项目?

  24. 24

    C ++(Win64 / PC)中用户定义类型的静态初始化

  25. 25

    康达安装(或任何其他命令)不适用于Win64

  26. 26

    Visual Studio 2015 Win64在解决方案构建期间挂起

  27. 27

    为Win64构建mongo-c-driver-1.16.2时出现问题

  28. 28

    使用Visual Studio 2015 Win64编译MySQL连接器

  29. 29

    无法在Win64上启动ncat-需要安装libeay32.dll

热门标签

归档