I found this script on a different thread. You have to change the profile username but the script then executes correctly. You'll have to find that by opening File Explorer and browsing to your user folders. Tap the Windows button & R and type %userprofile% in the box and press enter to find it. It's usually the first five digits of whatever name you used when you created your profile at setup.
So, right click on the Start button, choose Terminal (Admin), paste this all in but make sure you change the INSERTUSERNAME area to your username. Then press enter. Hopefully it sticks but I can't be sure of that yet. It reinstalled itself twice this morning so I guess I'll see tomorrow or after I restart my computer again today.
$folderPath = "C:\Users*INSERTUSERNAME*\AppData\Local\Packages\microsoft.windowscommunicationsapps_8wekyb3d8bbwe\LocalState\Migration"
$acl = Get-Acl -Path $folderPath
Find the deny write rule applied earlier
$denyWriteRule = $acl.Access | Where-Object {
$\_.IdentityReference -eq "Everyone" -and
$\_.FileSystemRights -eq "Write" -and
$\_.AccessControlType -eq "Deny"
}
if ($denyWriteRule) {
$acl.RemoveAccessRule($denyWriteRule)
Set-Acl -Path $folderPath -AclObject $acl
Write-Host "Write access restored for $folderPath"
} else {
Write-Host "No deny write access rule found for $folderPath"
}