David Pendrey said:
If it is not possible to have a small EXE program which includes a form
then how is notepad only 68kb? It includes several forms and depends only
on the windows system behind it. There is a difference between 'minute
thingking' and weighing the possabilities.
For small, simple programs it is often worth while to add a little bit
extra size onto the file and have it take a little bit longer to load to
keep it a stand alone. After all, its still a small program, and still
loads in what is a very usable time frame.
You can't just optimise all the time at the expense of usability and
distribution. If people had to download the 22 meg .NET framework to
download a program to read RTF files they would not get it.
And, presently they may have to download the .Net Framework up to 3 times
(1.0, 1.1 and 2.0) to run all .Net applications because none of the
frameworks are backwards compatible with it's siblings! We have simply
swapped DLL Hell for .Net Framework Hell.
Since you cannot know what version of .Net your user may have (if any) you
must ship the .Net runtime with all of your applications (or use Thinstall
to wrap them).
It simply amazes me that Microsoft did not make .Net exes automatically
download only the portions of the .Net runtime they need (from Microsoft) to
run. A program written in .Net and stored on an internet server will do
this. It only downloads the DLLs it requires for the functionality that the
user is attempting to use. So why not have it do the same for the whole
damned framework?
A second thing that just boggles my mind is why the .Net framework is not a
"Critical" update for XP+. If Microsoft is moving to this platform, then it
is needed on every Windows desktop. Why don't they make it a critical
update and force it onto the desktops?
Then we could ship very tiny applications because we would not need to ship
the runtimes. And, that whole XCOPY thing they were so high on might
actually work. As it stands you cannot rely on Xcopy to distribute an
application because you cannot rely on the correct (if any) .Net framework
to be on the end user's PC.
But if the program takes a few extra seconds to load ands takes up an extra
meg on their hard drive it is much more user friendly.
Thinstall apps are still a lot larger than a simple exe output from .Net. I
did an experiment with Washington University's .Net rewrite of the classic
Paint program. If you downloaded the .Net framework and the code needed to
run Paint 2.0 it added up to over 27 MB. The same application compiled with
Thinstall was just over 14 MB and needed no installation, needed no
administrator privikeges, and will never have its files overwritten or
corrupted because they are all inside the Thinstall EXE.
Why didn't Microsoft think of this? They have seen and used Thinstall, and
even spoke well of it.