Can't join games (FAF client 1.2.3)

I cannot currently join any games or watch any replays. When I do, I get two error messages, one after the other. The first states:

"Uh oh!

The game could not be started. See error details below.

Error details

java.util.concurrent.CompletionException: com.github.nocatch.NoCatchException: java.io.IOException: Cannot run program "C:\ProgramData\FAForever\bin\ForgedAlliance.exe" (in directory "C:\ProgramData\FAForever\bin"): CreateProcess error=2, The system cannot find the file specified
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2137)
at com.faforever.client.fa.relay.ice.IceAdapterImpl.lambda$start$8(IceAdapterImpl.java:229)
at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: com.github.nocatch.NoCatchException: java.io.IOException: Cannot run program "C:\ProgramData\FAForever\bin\ForgedAlliance.exe" (in directory "C:\ProgramData\FAForever\bin"): CreateProcess error=2, The system cannot find the file specified
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
at com.github.nocatch.NoCatch.wrapException(NoCatch.java:61)
at com.github.nocatch.NoCatch.noCatch(NoCatch.java:104)
at com.github.nocatch.NoCatch.noCatch(NoCatch.java:82)
at com.faforever.client.game.GameService.lambda$startGame$42(GameService.java:609)
at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714)
... 4 more
Caused by: java.io.IOException: Cannot run program "C:\ProgramData\FAForever\bin\ForgedAlliance.exe" (in directory "C:\ProgramData\FAForever\bin"): CreateProcess error=2, The system cannot find the file specified
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
at com.faforever.client.fa.ForgedAllianceService.launch(ForgedAllianceService.java:137)
at com.faforever.client.fa.ForgedAllianceService.startGame(ForgedAllianceService.java:82)
at com.faforever.client.game.GameService.lambda$startGame$41(GameService.java:609)
at com.github.nocatch.NoCatch.noCatch(NoCatch.java:100)
... 7 more
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.base/java.lang.ProcessImpl.create(Native Method)
at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:483)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:158)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107)
... 12 more"

The second message reads:
"Uh oh!

Some files from the installed game could not be copied over to FAF but unless you recently modified game files in the installed version you probably do not care. We are still starting the game for you.

Error details

java.util.concurrent.CompletionException: java.lang.RuntimeException: java.nio.file.AccessDeniedException: C:\ProgramData\FAForever\cache\featured_mod\bin\193d2bf341527e987505323d4dc27995 -> C:\ProgramData\FAForever\bin\ForgedAlliance.exe
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:704)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2152)
at com.faforever.client.task.CompletableTask.lambda$new$1(CompletableTask.java:18)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.concurrent.EventHelper.fireEvent(EventHelper.java:219)
at javafx.concurrent.Task.fireEvent(Task.java:1358)
at javafx.concurrent.Task.setState(Task.java:709)
at javafx.concurrent.Task$TaskCallable.lambda$call$2(Task.java:1455)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.RuntimeException: java.nio.file.AccessDeniedException: C:\ProgramData\FAForever\cache\featured_mod\bin\193d2bf341527e987505323d4dc27995 -> C:\ProgramData\FAForever\bin\ForgedAlliance.exe
at com.faforever.client.patch.SimpleHttpFeaturedModUpdaterTask.lambda$call$0(SimpleHttpFeaturedModUpdaterTask.java:80)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at com.faforever.client.patch.SimpleHttpFeaturedModUpdaterTask.call(SimpleHttpFeaturedModUpdaterTask.java:64)
at com.faforever.client.patch.SimpleHttpFeaturedModUpdaterTask.call(SimpleHttpFeaturedModUpdaterTask.java:24)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
... 1 more
Caused by: java.nio.file.AccessDeniedException: C:\ProgramData\FAForever\cache\featured_mod\bin\193d2bf341527e987505323d4dc27995 -> C:\ProgramData\FAForever\bin\ForgedAlliance.exe
at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:89)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at java.base/sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:395)
at java.base/sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:292)
at java.base/java.nio.file.Files.move(Files.java:1426)
at com.faforever.client.io.FeaturedModFileCacheService.moveFeaturedModFileFromCache(FeaturedModFileCacheService.java:64)
at com.faforever.client.patch.SimpleHttpFeaturedModUpdaterTask.lambda$call$0(SimpleHttpFeaturedModUpdaterTask.java:73)
... 8 more"

The game does not start, and I do not have the option to "report" when these messages appear, only to "dismiss." I have tried redownloading the FAF client and Forged Alliance from Steam, but this hasn't helped. I have not modified or moved any other folders. I updated to 1.2.3 on 25 Nov 2020, and everything worked fine until today (27 Nov 2020).

Menu->Settings>Forged Alliance Forever

[Game Location]

Make sure you game location is specified and correct, the error looks like it can't locate the exe file for the game. Either that, or it has a permission issue accessing the game. (try right-click run as admin and see if that fixes also)