Re: Replacing msvcrt?
BoHuang wrote:
My project exe/dlls converted to an installer installs and runs on my dev
system (Vista + VS2008)
But installing it on Windows XP without any Visual Studio presence, I get
the errors that these are missing in msvcrt.dl:
_ftol2
_exception_handler4_common
(I m sure there are more. For the first two at least, they are called by
opengl32.dll, which I have no control over)
And indeed, they are not in the msvcrt.dll in windows\system32 on the XP
system.
I try to manually replace the msvcrt.dll with the version on the Vista
system with those functions. But I get bluescreen upon restart, so I can't
replace the dlls.
NO, do not use MSVCRT anymore. That has belonged to the operating system for many years now. If you're on VS2008, then you are
using MSVCR90.DLL (and its companions). These are dependencies of your program, and like ALL dependencies, you must install them
when you install your app. Don't expect your dependencies to have been installed by someone else (like Microsoft, for instance).
The installers for the CRT modules are included with the VS2008 package. If you create a Setup project for your application, VS
will automatically add the merge modules it knows about for your dependencies (such as the CRT).