Description

Cumulative patching is implemented by copying the generated pak files during staging of the base and each patch to the Releases directory. When creating a patch, all of the pak files from the releases directory are copied into the staged release, and the new patch's pak files are copied into the Releases directory.

Signed pak files are implemented by adding .sig files beside each pak file; the runtime loads these to verify the pak file is signed.

Using cumulative patching and pak file signing together does not work.

The known problem is that the .sig files are not copied into the Releases directory and are not copied from the Releases directory into the staged directory for each pak.

It's not confirmed but is likely that is the only problem.

Notify linked UDN users when this JIRA is completed.

Steps to Reproduce

1) Change Lyra to use pak file signing
Create file d:\root1\Samples\Games\Lyra\Config\DefaultCrypto.ini

[/Script/CryptoKeys.CryptoKeysSettings]
bEnablePakSigning=True
SigningPublicExponent=<FillInAValidValueCanCopyFromFortniteDefaultCrypto>
SigningModulus=<FillInAValidValueCanCopyFromFortniteDefaultCrypto>
SigningPrivateExponent=<FillInAValidValueCanCopyFromFortniteDefaultCrypto>

2) Package a base version of Lyra with no changes, as a legacy (non-iostore) build.

RunUAT.bat -ScriptsForProject="D:/root1/Samples/Games/Lyra/Lyra.uproject" BuildCookRun  -nop4 -project="D:/root1/Samples/Games/Lyra/Lyra.uproject" -stage -archive -archivedirectory="D:/scratch/Lyra" -pak -package -unrealexe="D:\root1\Engine\Binaries\Win64\UnrealEditor-Cmd.exe" -prereqs -targetplatform=Win64 -build -clientconfig=Development -utf8output -compile -cook -AdditionalCookerOptions="-cookcultures=en -skipzenstore" -skipiostore -createreleaseversion=1 -skipzenstore

3) Open Lyra in the editor and modify the expanse level, e.g. by adding a Cube Actor.

4) Package a cumulative patch of version of Lyra
Delete the staged directory first.

-ScriptsForProject="D:/root1/Samples/Games/Lyra/Lyra.uproject" BuildCookRun  -nop4 -project="D:/root1/Samples/Games/Lyra/Lyra.uproject" -stage -archive -archivedirectory="D:/scratch/Lyra" -pak -package -unrealexe="D:\root1\Engine\Binaries\Win64\UnrealEditor-Cmd.exe" -prereqs -targetplatform=Win64 -build -clientconfig=Development -utf8output -compile -cook -AdditionalCookerOptions="-cookcultures=en -skipzenstore" -skipiostore -createreleaseversion=2 -skipzenstore -basedonreleaseversion=1 -generatepatch -addpatchlevel

Note that the .sig files for the base are missing from the new staged directory:
D:\scratch\lyra\windows\lyra\content\Paks
Contains pakchunk0-Windows.pak, but does not contain pakchunk0-Windows.sig.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-207430 in the post.

0
Login to Vote

Unresolved
ComponentUE - Foundation
Affects Versions5.3
Target Fix30.10
CreatedFeb 20, 2024
UpdatedApr 26, 2024