Running MOGRE project
My project is developed under WinXP SP2, MS VS 2005 + SP1, MOGRE 0.2.2. It works well under both release and debug configurations on my computer.
But when I try to run release version on computers with WinXP SP2 or Vista OS, where MS VS + SP1 is not installed (only .NET Framework 2.0), it raises BadImageFormatException. This trouble solves with installing MS VS and SP1.
Is it possible to run release version without installing MS VS ?
Yes, you need to install VS SP1 redistributable runtime (~ 2MB) You have a download link in the wiki.
I've downloaded and installed Microsoft Visual C++ 2005 SP1 Redistributable Package (x86), but error remains (CLR cannot load Mogre.dll)
Ok, try using dependency walker (http://www.dependencywalker.com/
or depends.exe in you VS directory) on some of the unmanaged DLLs (ogremain.dll, the render system plugins, etc.) and look for missing dependencies (like msvcrt8.dll, etc). Depending on who compiled you DLLs, there might be some strange DLLs missing (like msjava.dll).
Let me know if you need help using depends.
Dependency walker displayed missing msjava.dll (bleubleu, you knew it, aren't you?
So how may resolve this trouble?
I've applied depends to mogre.dll: 3 new missing dlls -
msvcm80.dll, msvcp80.dll, msvcr80.dll
Copying these files to bin folder resolves missing dependencies trouble, but there is one more:
Error: The Side-by-Side configuration information in "c:\release\MOGRE.DLL" contains errors. <some unreadable text: > (14001).
Ok, I solved this problem with installing VS SP1 redistributable runtime from my Visual Studio's folder, not from MS site, copying msjava.dll and d3dx9_31.dll to program folder.
Ok cool. It is really not easy to trouble shoot these kind of problem. For some reason, there is no way to know the name of the missing DLLs...
Glad you fixed it.