纯粹使用 WIX 进行修补

2024-06-21

我正在努力纯粹使用 WIX 创建补丁,我希望有人能指导我正确的方向。

我有几百个源文件,我对它们进行加热以创建一个收获文件,然后使用蜡烛和光创建一个包。

我需要更改一些配置文件,并使用更改创建第二个包。

我使用 Torch 和 Pyro 创建 .wixmst 文件,然后在尝试创建 msp 文件时,pyro 抱怨以下错误。

pyro.exe:错误 PYRO0252:未提供有效的转换来附加到补丁。检查以确保您在命令行上传递的转换具有在补丁中编写的匹配基线。另外,请确保您的目标和升级之间存在差异。

我的问题实际上是:patch.wxs 应该包含什么?

这是我的 patch.wxs 的样子:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

    <Patch 
        AllowRemoval="yes"
        Manufacturer="sample llc" 
        MoreInfoURL="sample.com"
        DisplayName="Env Patch" 
        Description="Env Specfic Patch" 
        Classification="Update"
        >

        <Media Id="5000" Cabinet="RTM.cab">
            <PatchBaseline Id="RTM" />
        </Media>

        <PatchFamilyRef Id="EnvPatchFamily" />
    </Patch>

    <Fragment>    
        <PatchFamily Id='EnvPatchFamily' Version='1.0.0.0' ProductCode="PUT-GUID-HERE" Supersede='yes' >

            ********************************************** 
                What component Ref should I put in here
                heat creates a component group and I can't
                put ComponentGroupRef in here
            **********************************************

    </PatchFamily>
    </Fragment>
</Wix>

我正在使用 Wix 修补,如以下链接所述:http://wix.sourceforge.net/manual-wix3/wix_patching.htm http://wix.sourceforge.net/manual-wix3/wix_patching.htm

但是,它不考虑使用 heat 创建的源 wix 文件。 有人可以告诉我我在这里做错了什么吗?


Hitesh,

对我来说,热量创建了一个像这样的组件组:

<Fragment>
    <ComponentGroup Id="MyFiles">
        <ComponentRef Id="cmp2AA1A30564C621322ECB3CDD70B1C03C" />
        <ComponentRef Id="cmp788C978F16E473D4FD85720B5B75C207" />
    </ComponentGroup>
</Fragment>

加热命令:

"%WIX%\bin\heat.exe" dir slndir\bin\Release -cg MyFiles -gg -scom -sreg -sfrag -srd -dr INSTALLDIR -out ..\Wix\MyFiles.wxs -var var.BinOutputPath -nologo -v -ke  -t wixtransform.xsl

在 patch.wxs 中:

<Fragment>    
    <PatchFamily Id='ProductPatchFamily' Version='1.3.0.0' Supersede='yes'>
        <ComponentRef Id="cmp2AA1A30564C621322ECB3CDD70B1C03C" />
        <ComponentRef Id="cmp788C978F16E473D4FD85720B5B75C207" />
    </PatchFamily>
</Fragment>

注意:PatchFamily 标签中没有 ProductCode 属性

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

纯粹使用 WIX 进行修补 的相关文章

  • 自定义 WiX Burn 引导程序用户界面?

    我主要使用 WiX 3 6 创建一个安装包 这样我就可以利用Burn http en wikipedia org wiki WiX Burn引导功能 到目前为止 我已经将多个 MSI 软件包捆绑在一起 这些软件包将与内置引导程序应用程序一起
  • 在每台计算机安装中删除 HKCU 下的注册表项

    我使用 WiX 3 6 构建了一个 perMachine 安装程序来安装我尚未开发的软件 不幸的是 该软件在执行期间在 HKCU 下创建了一些注册表项 卸载时 还应删除自行创建的密钥 移除这些钥匙似乎并不那么容易 我正在与 ICE57 和
  • 如何在 Windows 上应用差异补丁?

    有很多程序可以创建差异补丁 但我在尝试应用一个程序时遇到了很大的困难 我正在尝试分发补丁 但用户向我询问了如何应用该补丁 于是我尝试自己弄清楚 结果发现我毫无头绪 而且我能找到的大多数工具都是命令行的 我可以处理命令行 但是如果没有一个漂亮
  • 是否有其他方法可以访问延迟自定义操作中的会话详细信息?

    我有一个自定义操作 需要获取以下值才能将某些部分从安装文件夹复制到 VS2010 文件夹 VS2010目录路径 VS2010DEVENV财产 安装路径 INSTALLLOCATION财产 为了提供足够的权限 我将自定义操作设置为Execut
  • WiX 属性引用另一个属性

    我正在尝试为我的应用程序创建多个快捷方式 通过使用在命令行上传递不同的参数Arguments的属性Shortcut http wix sourceforge net manual wix2 wix xsd shortcut htm元素 我希
  • 警告 LGHT1076:ICE91:文件“doc_code_file1”将安装到每个用户目录“code_Simple”

    即使我添加了注册表值设置 它给出以下警告 warning LGHT1076 ICE91 The file doc code file1 will be installed to the per user directory code Sim
  • Wix 4 收获目录的解释?

    我正在尝试学习 Wix 4 0 来为我正在开发的应用程序创建安装程序 构建我的应用程序后 我在一个文件夹中有一堆文件 我想将它们安装到程序文件中 我已经读到收获功能允许我简化此过程并为整个目录创建组件映射 但我不确定这是什么example
  • 如何在自定义操作期间移动进度条

    在安装程序中运行自定义操作时 没有进度条 我们正在使用立即 C 管理代码自定义操作 运行自定义操作时是否有其他方法显示进度 预先致谢 维卢 使用 ProgressText 元素 模板 属性是放置标记以反映进度的地方 例如 请参阅标准 Ins
  • 让 WiX Bootstrapper 用于 .NET 4.0 的引导

    我一直在寻找让我的引导程序能够安装 NET 4 0 和我自己的应用程序 我查看了几个博客和教程 但无法让它发挥作用 我在 Stack Overflow 问题中读到在 WiX 中启动 调用引导程序 https stackoverflow co
  • 安装一系列嵌入式 MSI 软件包,每个软件包都使用嵌入式 UI - 显示通用进度条

    我正在使用 Windows Installer 4 5 新功能和 WiX 来生成MSI http en wikipedia org wiki Windows Installer包 我创建了一个 MSI 链安装 以便将其他 MSI 包的集合作
  • Wix 安装结束后添加多个复选框

    我的 C 应用程序有一个设置 在设置结束时 我添加了一个建议启动应用程序的复选框 效果很好 但我无法添加第二个复选框来提议启动可选安装程序 有我的代码
  • matplotlib 中没有边缘的阴影矩形补丁

    当尝试将带有填充图案的矩形面片添加到绘图中时 在指定填充值时似乎无法将关键字参数 edgecolor 设置为 none 换句话说 我试图添加一个没有边缘但有图案填充的阴影矩形 这似乎不起作用 仅当我还允许在矩形面片周围绘制边缘时 该图案才会
  • 安装引导程序如何检测是否安装了先决条件?

    试图解决这个问题 https stackoverflow com questions 2591384 bootstrapper setup exe says net 3 5 not found but launching msi direc
  • WiX Heat:预构建事件在构建服务器上过早触发

    我正在为我的 Visual Studio 解决方案收集一个目录 到目前为止 它在我的本地系统上运行可能是因为项目构建顺序得到了尊重 当我在构建服务器上运行安装程序时 它会找到正确的目录 但在构建安装文件时尚未创建该目录 它抛出一个HEAT5
  • 安装后如何执行Wix自定义操作?

    我正在使用 Wix3 将 WCF 服务安装到 IIS 安装完成后如何使用我的自定义操作 c 函数 即我需要打开已安装的 web config 文件并将主机名替换为真实的主机名 有任何想法吗 您可以安排在之后安装完成 http wix sou
  • WiX:如何立即重新启动explorer.exe?

    我是软件打包方面的初学者 我正在使用 cpack Wix 我试图找到有关的有用信息或良好文档util 重启资源 但找不到我的问题的任何答案 Issue 我必须安装一个 ShellExtension 它需要在设置一些注册表值后重新启动 exp
  • 良好的 WiX 编辑器 [重复]

    这个问题在这里已经有答案了 我目前正在开发一个使用 WiX 创建 MSI 的项目 我过去在 Sourceforge 上使用 WiXEdit 来管理包含在 WiX 项目中的文件 因为它比直接操作 XML 稍微容易一些 但它仍然有点笨重 有谁知
  • 纯粹使用 WIX 进行修补

    我正在努力纯粹使用 WIX 创建补丁 我希望有人能指导我正确的方向 我有几百个源文件 我对它们进行加热以创建一个收获文件 然后使用蜡烛和光创建一个包 我需要更改一些配置文件 并使用更改创建第二个包 我使用 Torch 和 Pyro 创建 w
  • Python单元测试补丁模拟整个类

    我想在单元测试中修补一个类 class OriginalClass def method a do something def method b do another thing 现在我创建了另一个类来修补它 所以修补它的代码就像 clas
  • 如何对具有相同文件的目录进行 HeatDirectory 2 次或更多次?

    我一直在 BeforeBuild 目标中的 WiX 安装程序项目中使用 HeatDirectory 任务来收集我们在客户端网络上部署的 Web 应用程序的文件 一直工作得很好 我现在想要部署第二组文件 这恰好是一些文档 并且它包含与先前 H

随机推荐

  • 任务“:app:checkReleaseDuplicateClasses”执行失败

    我的 React Native Android 构建中突然出现构建问题 令人惊讶的是 它是早上建好的 没有做任何改变 但突然就失败了 这就是我得到的错误 知道为什么会发生这种情况吗 在 stack 和 GitHub 中也看到了一些类似的问题
  • [A-Z] 表示 [A-Za-z] 是怎么回事?

    我已经注意到 至少在我使用的一些基于 Unix 的系统上 ls A Z 已经给了我预期的结果ls A Za z 让我无法轻松获得以大写字母开头的该死的文件列表 我刚刚遇到了同样的事情grep 我无法让它停止与小写字母匹配 A Z 直到我最终
  • 找不到 hadoop 安装:必须设置 $HADOOP_HOME 或 hadoop 必须位于路径中

    所以有一点背景 我一直在尝试在 CentOS 6 机器上设置 Hive 我按照 YouTube 视频的说明进行操作 http www youtube com watch v L2lSrHsRpOI http www youtube com
  • 使用Retrofit来消费服务器发送的事件

    我正在尝试使用rest api 1 https mesosphere github io marathon docs rest api html get v2 events将服务器发送的事件发送到客户端 我目前正在使用 square 的改造
  • Mvc脚手架一对多关系

    我正在使用 MVC 4 EF 4 3 和 MVCScaffolding 包 我有以下简单的模型类 public class Product Key public int ID get set Required public string N
  • 如何在目录中查找或获取文件名 Visual Basic.net 中具有特定单词的文件?

    我需要从名称中包含特定字符的目录中获取文件 下面的代码将返回带有以下内容的任何文件 csv扩大 问题是还有其他 csv 文件我需要保留或得不到 Dim FileLocation As DirectoryInfo New DirectoryI
  • Node.js 按域计算带宽使用情况

    如何使用node js作为Web服务器来监控每个域的带宽使用情况 有谁知道我没有遇到过执行此操作的 API 调用吗 或者其他人在按带宽收费的多租户环境中使用的模块或其他方法 Update 有谁知道可以放在任何 Web 服务器 node js
  • 服务在后台运行?

    我正在构建的应用程序的功能之一是记录功能 我通过在服务中启动 MediaRecorder 对象来实现此目的 Intent intent new Intent v getContext RecordService class Messenge
  • Javascript在底部,函数调用在主体?

    只是一个简单的问题 我遵循将所有 Javascript 文件保留在结束正文之前的文档底部的做法 但是我想在主体中调用一个函数 该函数会出现在 JS include 之前 因此失败 有没有办法让这个功能在不将文件移动到头部的情况下工作 Che
  • ActionBarCompat 支持库 android:selectableItemBackground 不起作用

    我正在使用新的 ActionBarCompat 支持库 操作栏中的操作按钮在按下时应更改其背景 它适用于 Android 4 3 但不适用于 Gingerbread 在姜饼中 如果我按下按钮 它不会改变背景 我什至改变了选择器 它再次适用于
  • Gradle 任务中 doLast 和 leftShift 之间的区别?

    我知道传入配置闭包和为任务定义操作之间的区别 我相信你不能使用 lt lt 在配置闭包中 因为它看起来像语法错误 task wrong lt lt println From doLast 但 为什么我不能使用leftShift相当于 lt
  • Alamofire 发布请求问题

    let parameters checkout email email protected cdn cgi l email protection line items variant id 31342168513 quantity 1 sh
  • WordPress Tax_query“和”运算符未按预期运行

    我有一个自定义帖子类型image自定义分类法称为图片标签 它像类别一样分层 以下是可能使用的标签的一些示例 Structure id 25 House id 56 Skyscraper Nature Animal Plant id 41 因
  • 使用 swagger-ui-express 和 swagger-jsdoc 时如何在 swagger 文件中正确使用 $ref

    我开始使用 swagger 与swagger ui express and swagger jsdoc自动记录我现有的 API 它是用nodejs并表达 就像这里描述的那样 example http www acuriousanimal c
  • Java 的类加载器与 jars-with-jars

    我们有一个可执行的 JAR 文件有时包含其他 JAR 文件 整个事情依赖于另外四个下载的 JAR 骑在太空中一只巨大的部署乌龟的背上 在运行时 我们动态加载嵌套的 JAR 文件 执行以下操作 wearyingly verbose error
  • asp.net mvc 3 razor 从 IEnumerable 获取一个元素

    我的视图模型 LIST 看起来像这样 public class ConversationModel public int ID get set public string Body get set public DateTime Datet
  • 如何使用 (a)smack 在 Android 上保持 XMPP 连接稳定?

    我使用适用于 Android 的 asmack android 7 beem 库 我有一个后台服务正在运行 例如我的应用程序保持活动状态 但 XMPP 连接迟早会在没有任何通知的情况下消失 服务器表示客户端仍然在线 但没有发送或接收数据包
  • 删除连接中不存在的记录

    想象两个表 A 和 B A B 1 2 2 3 6 5 4 7 9 11 13 23 9 现在我想从 A 中删除 B 中不存在的记录 例如从 A 中删除 1 6 和 4 我最初的想法是您可以 否定 联接的结果 DELETE FROM A W
  • 为什么 PostgreSQL 会重新分配角色命令,更改模板数据库的所有者

    想象一下现有的数据库称为store a与一表产品 还有一个用户叫store a user 数据库 表 数据 对象等都属于store a user 我现在创建一个名为的新用户store b user和一个名为的新数据库store b通过模板化
  • 纯粹使用 WIX 进行修补

    我正在努力纯粹使用 WIX 创建补丁 我希望有人能指导我正确的方向 我有几百个源文件 我对它们进行加热以创建一个收获文件 然后使用蜡烛和光创建一个包 我需要更改一些配置文件 并使用更改创建第二个包 我使用 Torch 和 Pyro 创建 w