【问题标题】:MSI WIX: Creating minor upgrade patch by using 2 MSI'sMSI WIX:使用 2 个 MSI 创建次要升级补丁
【发布时间】:2015-04-12 06:56:26
【问题描述】:

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

Welcome.wxs 文件:我们提到的只是欢迎消息并参考了我们的项目图像 Main.wxs 文件:包含组件和功能的 wxs 源文件的实际脚本。 InstallerPath.wxs:用户可以在其中选择自己的安装路径

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

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

【问题讨论】:

    标签: wix patch wix3.5 windows-installer


    【解决方案1】:

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

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

    然后是 WiX 补丁:

    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

    【讨论】:

    • 感谢 PhilDW。在上面的 URL 中,他们提到了使用单个 wxs 文件创建补丁的过程。他们正在使用带有 .wixpdb 文件(仅从一个 wix 源文件生成)的 torch commmnad 创建 diff.wixmst(torch.exe -p -xi 1.0\product.wixpdb 1.1\product.wixpdb -out patch\diff。 wixmst)。 我的问题在这里,如果我们有多个 WIX 源文件,并使用 msi(旧安装程序和新安装程序)创建 diff.wixmst?
    • 一个补丁在Windows SDK的情况下需要两个MSI文件,用一个pcp文件运行msimsp,就是两个MSI文件的场景。 WiX 有一些基于 Xml 文件的辅助功能。那里描述了三种一般方法,我会选择适合您确切情况的一种。
    • 感谢 PhilDW。现在可以创建补丁了。但是补丁更改没有反映(使用补丁安装)。我可以在“程序和功能”和补丁信息(在已安装的更新中)中看到版本更改。实际上,我的 main.wxs 引用了另一个文件 .msm(我们有一个文件夹“AppHome”,其中包含应用程序主文件,并通过使用热量来收集它。生成 app_home.wxs 并使用蜡烛和灯光生成 app_home.msm)这个文件是在我们的 main.wxs 中引用(我们在其中配置了所有快捷方式、另一个批处理文件和帮助、手动 pdf)并生成最终 MSI。
    【解决方案2】:

    只是为了提供一个链接,作为最后一个链接的附加信息,PhilDW 已经给出:有用,如果您想通过自己的应用程序/框架调用补丁生成来进行修补。然后,您可以直接从 MS 定位 PatchWiz.dll,而无需使用 msimsp。

    https://msdn.microsoft.com/en-us/library/aa370590%28v=vs.85%29.aspx

    但是 MsiMsp 当然是一个更简单的第一个条目。基本上它只是这个 dll 的一个外壳。

    但是:创建 .pcp 文件并不是每个人都喜欢...保留给想要更深入了解的人。 但是如果你想要的话,一旦你理解了所有的要点,用代码做它可能比手动做更安全。

    【讨论】:

      猜你喜欢
      • 2018-06-21
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      相关资源
      最近更新 更多