So what are you saying exactly? If I choose to build using the DLL setting to reduce code size at the very least I have to ship my application with MSVCRT.DLL? I've done a search on my computer for this file and it seems some applications have this file in their directory. Now I'm getting even more confused as the same file is in different sizes.

Alittle 261k here 335k there oop 315 over here 249? 289?

And it is even in my Windows/System32 folder... so err why would another system need me to ship this file to work? This part is really confusing me.

Or are you just saying that the Win32 API is requiring different dlls depending on various functions I'm using and these are the dlls that I need to find so forget MSVCRT.DLL?

I don't mind compiling my main program with Multi-threaded /MT as the extra size is manageable, however, my program has many custom DLLs that I will be writing and I need the Multi-threaded DLL /MD for minimal size. Is this something where I could build the main with /MT and the DLLs with /MD and all would work? There is very little to no Win32 API calls in my DLLs they are all in my main app. *sigh* Do I just have to keep building this crap and then copying it to a disk and moving to a new computer without MSVC 2005 Express to see if it works now? There must be an easier way to figure this all out.? Will WinXP and earlier versions like 95/98 require the same DLLs? Or will 95/98 require more?!?

Oh well off to MSDN to get even more confused I suppose.