CI(appveyor): Workaround for FXC failing to run with error C0000139 #6649
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds a fix for the appveyor CI pipeline to the 1.5.x branch.
from @davidebeatrici:
The Effect-Compiler Tool ("fxc.exe") seems to have only two direct dependencies:
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.