From 7452145bf3683fd9e38d7004852eab43ff82a8a2 Mon Sep 17 00:00:00 2001 From: Davide Beatrici Date: Mon, 25 Nov 2024 04:53:03 +0100 Subject: [PATCH] CI(appveyor): Workaround for FXC failing to run with error C0000139 The Effect-Compiler Tool ("fxc.exe") seems to have only two direct dependencies: - kernel32.dll - D3DCompiler_47.dll Both libraries are shipped with Windows, but the SDK provides a variant of the latter along with the executable. Turns out that variant is causing FXC to fail to launch with the following error: "The procedure entry point __CxxFrameHandler4 could not be located in the dynamic link library C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\D3DCOMPILER_47.dll." It's unclear when exactly the issue started happening and why. We just know it was never encountered until this week, when triggering a new official release (last one was in May). The workaround is simple: we delete any instances of the problematic DLL in the SDK folder(s) so that the working one that is shipped with the operating system is picked up. --- .appveyor.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.appveyor.yml b/.appveyor.yml index f19d12ceec9..b55635c2d41 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -25,6 +25,10 @@ environment: - MUMBLE_ENVIRONMENT_TRIPLET: 'x64-windows-static-md-release' MUMBLE_ENVIRONMENT_VERSION: 'mumble_env.x64-windows-static-md-release.2023-12-31.6a3ce9c65' +init: + # https://github.com/appveyor/ci/issues/3937 + - cmd: del /s /q "%ProgramFiles(x86)%\Windows Kits\10\bin\d3dcompiler_47.dll" + install: - ps: .ci/install-environment_windows.ps1