A Windows CAD/CAM app I've developed, with very advanced algorithms and visuals, takes about 300k lines of code (45% C++, 45% C#, 10% others), has 3.7MB download size. That 3.7MB installer includes both 32 and 64 bit binaries.
Couple general things how to achieve that.
Be very conservative about third-party libraries. Not only they inflate size, you have to support every line of third-party code you've brought to the project.
Prefer vector graphics over raster, and you'll get hi-dpi support for free.
Stuff like XML or DDS can be compressed by 50% or more, other stuff like JPG or PNG is almost in-compressible. Distinguish these 2 resources, compress first with e.g. gzip but not the second it'll be a waste of CPU bandwidth.