If I had to take a guess, it looks like you download the update from your server and save the file to your device as "tmp.apk", then your app tries to run the install for that apk.
Do you have "unknown sources" selected?
On Android 10, I think you need to give an app permission to be able to "install" other apps - did you do that?
It looks like it can't access the "tmp.apk" file.
Does that file exist after the download?
Is the path to the file hard-coded? I ask because maybe on different devices, the path will be different.
Or maybe the path needs to be determined at runtime using RP.GetSafeDirDefaultExternal (RP = RunTimePermission)