I'm going to break my habit here and place a reply/post to the original
post you made.
In a thread about wrapping .Net applications using Thinstall and Xenocode,
it was pointed out that there may be better programming languages/IDEs to
use for the purpose of creating standalone, single executable apps.
There's plenty. As evident in other posts here, Delphi is one of them.
Be sure to evaluate carefully which version you *need* though, as the
latter versions have gotten steadily more buggy/unstable, at least that
has been my experience.
My goal is to create desktop applications for use on Windows XP+ OSs that
are distributed as single executables that do not require traditional
install packages to run.
I would very much like to know why you have this criteria. While I can
understand the wish to not having to include, or force the download of,
a multi-megabyte runtime engine, everyone I've talked to (all levels of
users) seems to prefer an installation program to take care of things
like correct location on disk, start menu items, uninstallation, etc.
There's installer applications that doesn't add that much to the final
size as well so size should not be a big deal in that respect either.
I would like to use a drag and drop UI development tool like the .Net IDE
(or the old VB6) to make development as easy as possible. I am a hobbyist
programmer and would like to put out some useful apps, but I don't want to
have to become an expert at a complex language like C++ to do so reliably.
You'll pretty fast find out that any development engine worth its own
cost will be a complex endeavour. If you pick Delphi or C#, just to take
two examples, you'll find that most of your time will not be spent
learning the language, although C# with its latest 3.0 version is
rapidly building up speed in the complex arean. Instead, most of your
time will be spent either looking through the runtime classes to figure
out which ones to use and how to use them, or online googling for 3rd
party libraries or examples of what you need to do.
This holds true for VB, Delphi, C#, Java, and C++ and many other systems.
Your best option against this uphill battle is to pick one development
tool and get good at it. When you're good at one of them, switching
isn't going to be that tough since a lot of things are similar enough
for you to find them more easily once you've learned how to find them in
one system.
More than one person responding to the previous thread held the opinion that
.Net was great for corporate environments where all PCs are strictly
regulated, but may not be the best option to develop the type of apps that I
would like to develop for the PC community at large.
This still holds true, to a certain degree. I've found that the best
option to combat this is to do one of the following:
1. bundle the .NET runtime with your installer (making it bigger)
2. make the installer download and install the runtime, if necessary
3. add a link on your download page to the runtime downloads
To be honest, I prefer solution 1, with two installers, one with the
runtime and one without. This way the downloadee (?) can pick the right
one for his machine, and even install it offline.
So what, in your opinion, would be a good alternative to use to develop the
type of applications that I am trying to develop?
Personally I would go with C#, but I already know C#. I don't know if
this is a good enough answer for you though. If you absolutely cannot
use .NET, I would pick another system, but each system have its pros and
cons, you're going to have to pick the ones you care about.