【问题标题】:How to auto-increment the version in AppxManifest.xml when appx is created using MakeAppx tool?使用 MakeAppx 工具创建 appx 时,如何自动增加 AppxManifest.xml 中的版本?
【发布时间】:2018-01-07 04:47:36
【问题描述】:

我使用 makeappx.exe 创建了 appx 包。我还对 Jenkins 进行了更改,以便在每次构建时都可以将 appx 作为输出。现在,在每个构建中,我都会获得具有相同版本号的 appx,因为该版本在 AppxManifest.xml 中设置,我想在每个构建中增加 appx 包的版本。该怎么做?

【问题讨论】:

    标签: uwp appx appxmanifest makeappx


    【解决方案1】:

    如果您使用的是 Debug 版本,请尝试此步骤:

    1. 地图文件

    MakeAppx.exe 需要一个映射文件来完成工作,大部分信息都包含在这个文件中: obj\x64\Debug\package.map.txt

    打开它,它是第 2 行,它指的是一个文件: bin\x64\Debug\Core\AppxManifest.xml

    1. AppxManifest.xml

    打开这个文件,你可以在第10行找到这个信息:

    修改版本号,然后像这样打包你的项目:

    "C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\MakeAppx.exe" pack /l /h sha256 /f ".\obj\x64\Debug\package.map .txt" /o /p .\AppPackages\test.msix

    test.msix 文件版本号改变了!

    1. 自动更改版本号

    将版本号保存在某个位置(如文件),在调用 MakeAppx.exe 之前,增加版本号并在 AppxManifest.xml 中更新它

    【讨论】:

      【解决方案2】:

      每次构建之前,可以在项目的Package.appxmanifest 中更新版本。例如:

      <Identity Name="3ec95549-...7a30bb0" Publisher="CN=publisher" Version="1.2.0.0" />
      

      项目构建后,您可以在AppxManifest.xml 中找到版本。但您可以编辑AppxManifest.xml 以更新打包前的版本。

      MakeAppx.exe 定义的包版本取决于AppxManifest.xml 内部的版本。MakeAppx.exe 没有命令重新设置包版本以创建应用包。不能通过MakeAppx.exe更新版本。

      但是如果你创建一个app bundle,你可以通过MakeAppx.exe/bv命令指定bundle的版本号。详情请参考Create an app package with the MakeAppx.exe tool的“创建app bundle部分”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-24
        • 1970-01-01
        相关资源
        最近更新 更多