【发布时间】:2018-01-07 04:47:36
【问题描述】:
我使用 makeappx.exe 创建了 appx 包。我还对 Jenkins 进行了更改,以便在每次构建时都可以将 appx 作为输出。现在,在每个构建中,我都会获得具有相同版本号的 appx,因为该版本在 AppxManifest.xml 中设置,我想在每个构建中增加 appx 包的版本。该怎么做?
【问题讨论】:
标签: uwp appx appxmanifest makeappx
我使用 makeappx.exe 创建了 appx 包。我还对 Jenkins 进行了更改,以便在每次构建时都可以将 appx 作为输出。现在,在每个构建中,我都会获得具有相同版本号的 appx,因为该版本在 AppxManifest.xml 中设置,我想在每个构建中增加 appx 包的版本。该怎么做?
【问题讨论】:
标签: uwp appx appxmanifest makeappx
如果您使用的是 Debug 版本,请尝试此步骤:
MakeAppx.exe 需要一个映射文件来完成工作,大部分信息都包含在这个文件中: obj\x64\Debug\package.map.txt
打开它,它是第 2 行,它指的是一个文件: bin\x64\Debug\Core\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 文件版本号改变了!
将版本号保存在某个位置(如文件),在调用 MakeAppx.exe 之前,增加版本号并在 AppxManifest.xml 中更新它
【讨论】:
每次构建之前,可以在项目的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部分”。
【讨论】: