0
votes

I installed the Tesseract NuGet Package in my Visual Studio 2013 solution and during runtime when I initialise a Tesseract enginge it throws the error "The program can't start because VCRUNTIME140.dll is missing from your computer. Try reinstalling the program to fix this problem."

The strange thing is that a sample solution found here does compile, build and run, and either can find the dll or doesn't need it? I've checked the Configuration Manager and the Reference Manager. They all have the same dll's in the build output folder, the only difference that I can find is in the .config files where the sample seems to rely on the .NET 4.0 Framework and my solution on .NET 4.5.2 Framework. Any ideas on what I can try to make my solution compile in the same way as the sample solution?

1
You have a dependency on the C runtime library that is used in VS2015. Low odds that you have it when you use VS2013. Even lower when you run this on another machine. microsoft.com/en-us/download/details.aspx?id=48145Hans Passant
But I can run the sample provided with the library, so they managed to include the dependency in the build of that solution, because I can ShellExecute the executable from my own solution. I compile code in the sample solution -> .exe works. I compile the same code in a larger solution where I installed the NuGet package myself -> gives error...? Any ideas where discrepancies might arise? PS: I already had that redist installed.Robin De Schepper

1 Answers

2
votes

Tesseract NuGet Package was created using VS2015; therefore, it requires Visual C++ Redistributable for Visual Studio 2015. Since the sample solution you downloaded and compiled with your VS2013, it would not depend on VC++ 2015 runtime but on VC++ 2013, which comes with your VS2013 IDE installation.