MSI WIX:使用 2 个 MSI 创建次要升级补丁

2024-01-02

有没有办法根据旧的 MSI 安装程序和新的 MSi 安装程序创建次要升级(补丁文件,即 .msp)或 msi。我们希望为客户提供次要升级补丁(.msp 或 .msi0,其中仅包含更改。
1)我基于 4 个 .wxs 文件创建了(旧的)Test.msi。这 4 个 wxs 文件有助于安装向导步骤。以下是示例。

欢迎.wxs 文件:我们在其中提到了欢迎信息并参考了我们的项目图片主.wxs 文件:其中包含组件和功能的 wxs 源文件的实际脚本。安装程序路径.wxs:用户可以选择安装路径

许可协议.wxs:许可协议提及对话框文件。

2)我仅更改了产品版本号并修改了一些项目文件,并添加了一些新文件。
3)然后我根据这 4 个 .wxs 文件创建了(新的)Test.msi。
4)通过使用这些旧的和新的安装程序,我如何生成补丁(.msp 或 .msi)以进行较小的升级。


如果您想对两个 MSI 执行此操作,那么这是一个起点:

http://wixtoolset.org/documentation/manual/v3/patching/patch_building.html http://wixtoolset.org/documentation/manual/v3/patching/patch_building.html

然后是 WiX 补丁:

http://wixtoolset.org/documentation/manual/v3/patching/wix_patching.html http://wixtoolset.org/documentation/manual/v3/patching/wix_patching.html

或者作为第一个的变体,您可以创建自己的 .PCP 文件并从 Windows 工具包运行 msimsp,如下所述:

https://msdn.microsoft.com/en-us/library/aa367816(v=vs.85).aspx https://msdn.microsoft.com/en-us/library/aa367816(v=vs.85).aspx

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

MSI WIX:使用 2 个 MSI 创建次要升级补丁 的相关文章

  • 我应该如何处理 WiX 安装程序中的产品升级?

    我有一个相当大的 WiX 安装程序 250 Mb 以上 我正在尝试制定合适的升级策略 安装程序中的大多数文件都不会更改 并且当只有一两个文件发生更改时 我们不希望分发整个包 我研究了主要和次要升级 我的理解是 如果产品 ID 发生变化 只要
  • 如何在 Wix 自定义对话框的文本框中输入值?

    我有一个带有类型编辑控件的 Wix 对话框 这是服务所依赖的服务器的 uri 如何在输入值之前禁用 下一步 按钮 以下是我们曾经使用的一些 旧 生产代码的摘录
  • 如何使用自定义操作在 WiX 中运行脚本 - 最简单的示例?

    WiX新手问题 我该怎么办1 将一次性 shell 脚本与安装程序一起复制到 temp e g
  • 如何创建二进制补丁?

    为二进制文件制作补丁的最佳方法是什么 我希望用户能够简单地应用 一个简单的patch应用程序会很好 在文件上运行 diff 只是给出Binary files differ 查看bsdiff and bspatch website http
  • 从补丁文件中删除对特定文件的更改

    我有一个更改了许多文件的补丁文件 它意外地包含了对某些不应该更改的文件的更改 我可以手动从补丁中删除所有提及这些文件的内容 以生成正确的补丁文件 但这是一个繁琐的过程 如何以编程方式 标准 nix 工具 从补丁中删除所有提及文件的内容 注意
  • WiX - 根据环境将编译后的 web.config 复制到网站根目录

    作为 WiX 安装的一部分 我将所有转换 编译的 web config 文件复制到安装目录 编译后的 web config 的名称格式为 web ENV config 在我的安装 UI 中 我创建了一个自定义对话框 在其中解析 ENV 并填
  • WiX - 通过检查修订来防止降级

    我正在寻找一种方法来防止我的应用程序降级 但 问题 是 我必须检查修订号 例如 安装 1 0 0 1 时应该可以安装 1 0 0 2 但安装 1 0 0 2 时不应该安装 1 0 0 1 我知道 Element MajorUpgrade 仅
  • git am:补丁格式检测失败

    我以前从未在 Git 中使用过补丁 我需要一些帮助 我正在尝试将补丁应用到 Git 存储库来测试 Wine 补丁 特别是这个补丁在这里 https bugs winehq org attachment cgi id 60752 所以我做了以
  • Wix:动态添加功能

    我们正在使用 Wix 为我们的软件构建 msi 我们有一些要在目标机器上实现的组件 插件 每个客户端的插件都不同 我们想要做的是创建一个标准构建并修改 msi 包中的功能列表 有没有办法通过自定义操作动态更改功能列表 例如 从自定义操作中读
  • 使用“Any CPU”而不是“X86”编译wix项目

    当我编译一个wix项目 并且wix通过MSbuild启动所有现有项目的编译时 我可以使用 任何CPU 而不是 X86 或 64位 吗 如果没有 我如何使用 任何CPU 编译项目 如果您的问题是是否可以编译 WIXPROJAny CPU那么答
  • wix 3 安装程序:未解析的绑定时变量!(bind.fileVersion.Name.exe)

    我正在尝试使用 Wix3 中的绑定 bind fileVersion 即 3 11 1 由于某些原因 我收到以下错误消息 未解析的绑定时变量 bind fileVersion TestWix3 exe 我的目标是填写 产品 ID 行 特别是
  • 如何制作和应用SVN补丁?

    我想制作一个SVN类型的补丁文件httpd conf这样我就可以轻松地将其应用到其他主机上 If I do cd root diff Naur etc httpd conf httpd conf original etc httpd con
  • Magento补丁安装失败

    从以下位置下载并运行 Magento PHP 5 4 支持补丁 Magento CE v1 7 0 0 1 7 0 2 时http www magentocommerce com download http www magentocomme
  • WIX 目标文件由 LFN 系统上的两个不同组件安装在 [ProgramFilesFolder] 中:这会破坏组件引用计数

    我正在使用 WIX 通过 TFS MSBuild 生成 msi 破坏构建的错误 不仅仅是警告 是 ICE30 The target file eiycriw9 exe MyApp exe is installed in ProgramFil
  • 如何使用 Wix 运行 sql 脚本创建数据库

    我在使用 Wix 创建数据库时遇到问题 我能找到的示例 参见下面的链接 都是首先使用 wix 创建数据库并运行创建表 sql 脚本 问题是我需要将 wix 设置为使用 CREATE DATABASE 运行 sql 脚本来创建数据库和表 而不
  • MSI 安装程序,64 位操作系统,写入 \windows\system32\inetsrv 文件夹

    在 Windows Server 2008 64 位上 我需要一个 msi 安装程序文件来将一些文件写入 windows system32 inetsrv 文件夹 这些文件是一些 XML 架构验证文件 C XmlReaderSettings
  • 如何为 WIX 中的目录分配路径值?

    在我的 WIX 项目中 我有一个类似这样的目录结构
  • 如何在 Windows 上应用差异补丁?

    有很多程序可以创建差异补丁 但我在尝试应用一个程序时遇到了很大的困难 我正在尝试分发补丁 但用户向我询问了如何应用该补丁 于是我尝试自己弄清楚 结果发现我毫无头绪 而且我能找到的大多数工具都是命令行的 我可以处理命令行 但是如果没有一个漂亮
  • 捕获数据包后会发生什么?

    我一直在阅读关于网卡捕获数据包后会发生什么的内容 我读得越多 我就越困惑 首先 我读过传统上 在网卡捕获数据包后 它会被复制到内核空间中的一个内存块 然后复制到用户空间 供随后处理数据包数据的任何应用程序使用 然后我读到了 DMA 其中 N
  • 为什么最新的 Python 3.8.x 版本不提供 Windows 安装程序?

    我需要在Windows计算机上安装Python 3 8并希望使用最新的小版本3 8 12 https www python org downloads release python 3812 官方发布网页提供了源代码的 tarball 文件

随机推荐

  • 在 ColdFusion 中以编程方式验证邮件服务器连接

    我正在使用自定义 SMTP 服务器 并且希望在用户输入自己的服务器凭据时验证连接 与 Adob e CF 和 Railo 在添加邮件服务器时允许执行的检查类型完全相同 当然 这并不能保证delivery将会工作 但至少要检查输入的服务器 用
  • socket.io 是否重新连接重新运行连接?

    我构建了一个简单的 Web 应用程序 它使用 socket io 通过 Node js 服务器进行一些通信 当用户连接时 节点会传回信息 告诉客户端订阅某些事件 效果很好 但是 如果您让浏览器处于空闲状态 客户端最终会订阅事件两次 订阅过程
  • int 到 double 的无效转换异常

    也许我疯了 但我认为这是一个有效的演员阵容 new int 1 2 3 4 5 Cast
  • Silverstripe 的 Coda 语法高亮显示

    我刚刚搬到一台新机器上 在我的旧机器上 我有 Silverstripe 模板 ss 文件 遵循 Coda 中的 HTML 语法突出显示 我一辈子都不记得我是如何打开它的 不过我记得这是我自己做的 谷歌没有找到任何结果 有什么建议么 更新 真
  • “在 SPARK Ada 中接受挑战”- 后置条件下的总和鬼函数有意外行为

    我正在 SPARK Ada 中编写一个软件 它需要后置条件来验证函数返回值是否等于数组的求和值 在证明函数所在的文件后 我不断收到一个错误 该错误并没有完全加起来 没有双关语的意图 我将发布代码的屏幕截图以便更好地查看 大小为 10 的数组
  • 如何使用 Perl 搜索文件中两个时间戳之间的行?

    在 Perl 中 我尝试读取日志文件 并且仅打印在两个特定时间之间具有时间戳的行 时间格式为 hh mm ss 并且这始终是每个日志上的第三个值 例如 我将搜索介于 12 52 33 到 12 59 33 之间的行 我是 Perl 新手 不
  • 将多个字符串传递给 string::find 函数

    是否可以以某种方式将多个字符串传递给 string find 函数 例如 要查找字符串 我可以使用以下命令 str find a string 我想做的是这样的 str find a string another string yet an
  • 验证元素在量角器中消失

    出于等待目的 我使用这种等待函数 browser wait function return browser isElementPresent by repeater recentName in recentNames row 0 10000
  • 为什么 Kotlin 的 null 安全性不能与局部变量初始化器一起正常工作?

    请看这段代码 fun localVarNullSafety1 var number Double 3 0 val sum 2 0 number does not compile Type mismatch inferred type is
  • 发送JSON数据Servlet Applet通信示例

    您好 我正在开发一个应用程序 其中 servlet 必须将数据 来自数据库 发送到小程序 我已经休养了这个link https stackoverflow com questions 6769255 applet servlet commu
  • 数据表分页不起作用?

    我的 html 页面包含一个表格 我使用 dataTable 插件进行分页 1 https i stack imgur com O2C1e png 1 https i stack imgur com O2C1e pnghttps datat
  • 在 cython 中使用 typedef'd 结构

    我在头文件 dcm h 中有以下定义 typedef struct double alpha double gamma double tau ThetaDCM 我想将它导入到 cython 中 所以我有 cdef extern from d
  • 如何将 Object.values 与打字稿一起使用?

    我正在尝试从对象中形成逗号分隔的字符串 const data Ticket 1 pdf 8e6e8255 a6e9 4626 9606 4cd255055f71 pdf Ticket 2 pdf 106c3613 d976 4331 ab0
  • 如何生成WM_SEC.AUTH_SIGNATURE?

    有谁有可以为 Walmart API 生成此标头的 python 代码吗 WM SEC AUTH SIGNATURE 我试图理解 java 示例 但我没有任何运气 因为我没有 Java 经验 如果有人知道需要签名的字符串的格式 我可能可以从
  • iPad ios 8.4 中不会触发窗口 onload 事件

    我面临以下奇怪的问题 功能 当我打开我的网站页面时 该页面包含许多图像并使用 Javascript jQuery 作为客户端功能 单击每个图像时 所有其他图像都会更改其不透明度 并且所选图像会显示 div 包含一些信息和图像的视频 我使用了
  • Android:在自定义适配器中调用 getView() 两次

    我正在将自定义 SimpleCursorAdapter 设置为 ListView 由于某种原因 FriendAdapter 的 getView 会针对数据库中的每个项目调用两次 经过一番调查 我的 contact list xml 中没有w
  • php的file_get_contents是否忽略文件锁定?

    我读过 php 的手册页 http php net manual en function file get contents php 120389关于 file get contents 函数 它没有说明 file get contents
  • Firebase 检索最高 100 分

    This is a screen shot of my firebase I am trying to retrieve the highest 100 score in firebase database I am using this
  • 2008 年和 2010 年使用实体框架有什么区别

    您知道 首先实体框架是随 Visual Studio 2008 SP1 一起提供的 现在它随 Visual Studio 2010 一起提供 问题是 这两个版本有什么区别呢 持久性无知 您可以定义自己的 POCO 普通旧 CLR 对象 它们
  • MSI WIX:使用 2 个 MSI 创建次要升级补丁

    有没有办法根据旧的 MSI 安装程序和新的 MSi 安装程序创建次要升级 补丁文件 即 msp 或 msi 我们希望为客户提供次要升级补丁 msp 或 msi0 其中仅包含更改 1 我基于 4 个 wxs 文件创建了 旧的 Test msi