Question:
(Using the Chilkat .NET assembly for the 4.5 Framework (Visual Studio 2012)) The component works fine at my server. But when I publish the application and install it on another computer, it shows the following error:
“Could not load file or assembly ‘ChilkatDotNet45.dll” or one of its dependencies. The specified module could not be found.”
And “Details” shows:
“Exception Text System.IO.FileNotFoundException: Could not load file or assembly ‘ChilkatDotNet45.dll’ or one of its dependencies. The specified module could not be found.”
I have installed Microsoft .NET Framework 4.5 on the computer. And I use x64 build, and both computers use Win7 x64 OS.
I even tried to place ChilkatDotNet45.dll at various places but it did not help.
Any idea? Thank you!
The problem is with the "dependency". The only dependency is the Visual C++ Redistributable for Visual Studio 2012. The Chilkat .NET assembly is a mixed-mode assembly, where the inner core is written in C++ and compiles to native code. There is a dependency on the VC++ runtime libs. Given that Visual Studio 2012 is new, it won't be already on most computers. Therefore, it needs to be installed. It can be downloaded from Microsoft here:
Visual C++ Redistributable for Visual Studio 2012
If using a .msi install for your app, it should also be possible to include the redist as a merge-module, so that it's automatically installed w/ your app if needed.
Note: Each version of Visual Studio corresponded to a new .NET Framework release:
VS2002 - .NET 1.0 2003 - .NET 1.1 2005 - .NET 2.0 2008 - .NET 3.5 2010 - .NET 4.0 2012 - .NET 4.5The ChilkatDotNet45.dll is for the .NET 4.5 Framework, and therefore needs the VC++ 2012 runtime to be present on the computer.
Likewise, the ChilkatDotNet4.dll is for the 4.0 Framework and needs the VC++ 2010 runtime.
The ChilkatDotNet2.dll is for the 2.0/3.5 Frameworks and requires the VC++ 2005 runtime. (It is unlikely you'll find a computer that doesn't already have the VC++ 2005 runtime already installed.)