PDA

View Full Version : Msvcrt.dll error!



MrWizard
08-06-2002, 03:24 PM
Hello,

Whenever I try to install a program on my machine ( Windows 2000 pro, Service Pack 3 ) I often get an error message. Something along the lines of "MSVCRT.DLL is not compatible with Win32s". Not every program does this, but it really occurs on programs originally for Win95 or 98. I know these programs used to work on my old computer with win2k but now I get this error message. Maybe file versions are messed up? Anyone help?? Thanks!!

Fordy
08-06-2002, 03:52 PM
Win32s was a group of dlls that went onto Win 3.11 and allowed it to run 32 bit programs......It wasnt a real platform....more a taster for 32Bit windows and it didnt spark much interest

It was soon dumped with the onset of Win95 and kind of buried by M$.....

God know's what functions Win32s had in MSVCRT.DLL...these days it's full of the Std-C funcs that you use every day (fopen, printf....)....I doubt the Win32s version funcs were std compilent

If the program was originally designed using Win32s then maybe its time for a newer version....

MrWizard
08-06-2002, 03:57 PM
The programs I'm trying to install weren't designed for win32s. They are games like Command and Conquer: Red Alert2. Also I get error messages saying this game requires Win95 or Win NT. Like I said, this isn't the first time I'm trying to install them, just all of the sudden I started getting these messages, and not just on one program either. I get this error on many programs now. I ran system file checker and it didn't find any errors (version conflicts , missing files). So the MSVCRT.DLL is just like C standard functions, wierd.

Fordy
08-06-2002, 04:08 PM
Originally posted by MrWizard
The programs I'm trying to install weren't designed for win32s. They are games like Command and Conquer: Red Alert2. Also I get error messages saying this game requires Win95 or Win NT. Like I said, this isn't the first time I'm trying to install them, just all of the sudden I started getting these messages, and not just on one program either. I get this error on many programs now. I ran system file checker and it didn't find any errors (version conflicts , missing files).

Hmm...maybe some conflict of some sort.....cant give any further answer I'm afraid.....


Originally posted by MrWizard

So the MSVCRT.DLL is just like C standard functions, wierd.

Yup!!



# include <windows.h>

typedef int (__cdecl *PRINTF)(const char*,...);

PRINTF printf;

int main ()
{
HMODULE hMod = LoadLibrary("MSVCRT.dll");
if(!hMod){
MessageBox(HWND_DESKTOP,"Could not find MSVCRT",NULL,MB_OK);
return 1;
}
printf = (PRINTF)GetProcAddress(hMod,"printf");
if(!printf){
MessageBox(HWND_DESKTOP,"Could not find printf",NULL,MB_OK);
return 1;
}

printf("%s","Hello World\n");


printf = NULL;
FreeLibrary(hMod);
return 0;
}

All without <stdio.h> and using only kernael32.lib (needed in every process) and user32.lib (need for MessageBox API)

frenchfry164
08-08-2002, 12:05 PM
does Win2K allow you to run stuff in compatablility mode like XP does?

MrWizard
08-12-2002, 12:24 AM
Originally posted by frenchfry164
does Win2K allow you to run stuff in compatablility mode like XP does?

It does. I tryed that also but it did not work :(