views:

208

answers:

2

I've been taking note of the .exe file size of many applications.

I saw that Visual Studio 2005 has an .exe size of 453KB, and VS2008 of 1.04MB because they divide the application into many parts (.exe + many .dll files).

I saw also that MS Outlook has a very large .exe file (11.8MB) while MS Word is very small (398KB)!

After pondering the things that I had seen, I was left with these questions:

  1. Is there an advantage to having a small .exe, even if the final size of the application (all DLLs loaded) is much larger?
  2. And if so, at what size is it good to begin breaking up an application into separate modules?
+3  A: 

As a general rule, big size exe may mean you collect all the dependencies in single file so no dependency problem like dll hell but every time you want to fix any thing in small module the user has to download this big exe!!!

On the other hand small exe it may mean you modularize your application to different modules so it is easy to maintain and upgrade these modules separately and user does not have to download the big chunk exe

Ahmed Said
+3  A: 

A large executable probably has less less shared libraries (less re-usable code), meaning that the application probably is more memory intensive than an application using shared libraries. If you want a system with minimal memory footprint you want shared libraries.

A big exe is likely to be more self-contained, which might make it easier to keep a stable deployment.

krosenvold