|Using QuickFIX Dialects||Table of Content||Engine Settings|
To achieve the best performance and minimize latency, the unmanaged code is used in some mission-critical subsystems of the FIX Engine, so there is a dependency on the Visual C++ Runtime Libraries.
These libraries are installed by the FIX Engine setup package.
They could also be installed directly using the corresponding Microsoft Visual C++ Redistributable Package.
The FIX Engine is not compatible with Ngen. If you want to create native images for your application by the Ngen then you need to do it for all your assemblies separately except FIX Engine libraries. For example, if you have MyApp.exe, which depends on the FIX Engine library and your MyDll.dll then you need to perform the following commands:
The FIX Engine uses the Agile.NET obfuscator, which creates some file(s) in the temporary folder and loads it as dll, so there can be security issues in case of your security software does not allow it. As a result, you can see different unexpected behaviors, for example, a TypeInitializationException exception during the startup of an application. Therefore, please review your security software in case of similar issues.
Each .NET platform (.NET 4.6.2, 4.7.2 or 4.8, 32-bit or 64-bit) requires the corresponding version of the Microsoft Visual C++ Redistributable Package:
|.NET 4.6.2||Microsoft Visual C++ 2015 Redistributable Package (x86)||Microsoft Visual C++ 2015 Redistributable Package (x64)|
|.NET 4.7.2||Microsoft Visual C++ 2017 Redistributable Package (x86)||Microsoft Visual C++ 2017 Redistributable Package (x64)|
|.NET 4.8||Microsoft Visual C++ 2019 Redistributable Package (x86)||Microsoft Visual C++ 2019 Redistributable Package (x64)|
Script Example for Ngen:
@ECHO OF FOR %%F IN (*.dll *.exe) DO (call :processFile %%F) EXIT /b :ProcessFile SET _filename=%1% SET _res=%_filename:~0,8% IF NOT "%_res%"=="FIXForge" (ngen install %_filename% /NoDependencies)