Thread: MFC8 grmbl
View Single Post
  #1  
Old 03-01-2007, 08:15
Muji-FightR's Avatar
Muji-FightR Muji-FightR is offline
Registered User
 
Join Date: Apr 2005
Location: beyond belief
Posts: 766
Thanks: 0
Thanked 0 Times in 0 Posts
Muji-FightR is on a distinguished road
Send a message via ICQ to Muji-FightR Send a message via Yahoo to Muji-FightR
Red face MFC8 grmbl

Heya,
I lately started having a look at C++ again, now I finally managed to find something worth coding and I have some strange problems with that goddamn MFC and the MSVCR.

Coding is fine and it compiles and runs on my comp properly.
I then gave the app to some dudes via ICQ and IRC and it didn't run for about 9/10 of them :/
The problem seems to be up to the manifest that the compiler adds to the exe:
Quote:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC80.MFC" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>
If I remove the VC80.MFC entry it says it can't find mfc80.dll, well I copied the dll from the VStudio redist folder to system32 and it works.
But if I also remove the VC80.CRT dependency it crashes with an error message like "unable to start blah 0x80000003".
I debugged the app and I stopped at a DebugBreak() probably inside the Windows Loader's actions.
It seems to load the MSVCR8.DLL but after DLLInit the DLL returns a string similar to "[...] trying to load msvcr8.dll in an inaccurate way. [...] exit".

Why is that ? What is the assembly needed for ? I always thought an Import table entry for the DLL is enough :/

I found out how to 'fix' the problem, I simply bound the whole static MFC library to the app, making it 3 times as big x(

Is there any other way to ensure compatible with most Windows version ?
Reply With Quote
Sponsored Links