我使用 makeappx.exe 创建了 appx 包。我还对 Jenkins 进行了更改,以便在每次构建时都可以将 appx 作为输出。现在,在每个构建中,我都会获得具有相同版本号的 appx,因为该版本在 AppxManifest.xml 中设置,我想在每个构建中增加 appx 包的版本。怎么做?
2 回答
如果您使用 Debug 版本,请尝试以下步骤:
- 地图文件
MakeAppx.exe 需要一个映射文件来完成工作,大部分信息都包含在这个文件中:obj\x64\Debug\package.map.txt
打开它,它是第 2 行,它引用了一个文件:bin\x64\Debug\Core\AppxManifest.xml
- 应用程序清单.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
。
但是如果你创建了一个应用包,你可以通过/bv
命令来指定包的版本号MakeAppx.exe
。详情请参考使用 MakeAppx.exe 工具创建应用包的“创建应用包部分” 。