Why does MATLAB Runtime cache (CTF extraction path) get corrupted after running the executable for several number of times?

10 views (last 30 days)
We have a .NET application where functions of a MATLAB Compiler SDK generated DLL are called.
It happens that the MATLAB Runtime cache gets corrupt, such that executing the DLL function always results in error.
This happens only after running the application for several number of times.  When I manually delete the entire MATLAB Runtime cache directory helps resolving the issue. I am wondering what could be the reason for corrupted CTF extraction.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 1 Aug 2024
Edited: MathWorks Support Team on 1 Aug 2024
The problem may occur to standalone applications created with MATLAB Compiler and libraries created with MATLAB Compiler SDK. The possible cause is that the MATLAB Runtime cache is by default somewhere below your TEMP directory. Certain system/network tools/services might try to "clean" TEMP directory. Possible solutions for this issue would be:
1. Use MCR_CACHE_ROOT environment variable to redirect the cache to a location not below TEMP
2. Do not embed the CTF. You can choose not to embed CTF by using 
flag or set EmbedArchive flag to off when using compiler.build CLI. The not-embedded CTF will then not be extracted to the MATLAB Runtime cache but rather to a directory below the directory containing the CTF.

More Answers (0)

Categories

Find more on Introduction to Installation and Licensing in Help Center and File Exchange

Products


Release

R2010a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!