Compiling to exe

  • Thread starter Thread starter nicnat
  • Start date Start date
N

nicnat

Sorry for the very basic question. Using .NET, can I create .EXE programs
which will run on any Windows machine without that machine having to install
..NET components first? I want to write applications, compile to .exe, and
have them run on Windows machines without requiring those machines to
install additional .dll, .net, or other files. If I can't do this using
..NET, then what language/system should I use?
Thank you.
 
No, it can't be done. .NET applications require the .NET framework.

--

Regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
The O.W.C. Black Book, 2nd Edition
Exclusively on www.lulu.com/owc $19.99
 
nicnat said:
Sorry for the very basic question. Using .NET, can I create .EXE programs
which will run on any Windows machine without that machine having to
install .NET components first? I want to write applications, compile to
.exe, and have them run on Windows machines without requiring those
machines to install additional .dll, .net, or other files. If I can't do
this using .NET, then what language/system should I use?
Thank you.

Any managed code app (VB, C#, C++/CLI) you create requires that applicable
version of the .NET Framework on the target machines. You can write native
Windows apps in C++, if you learn to program directly against the Windows
API. That way any API function calls are handled by various DLL's that are
part of Windows itself. There's a pretty steep learning curve associated
with API programming. Unless you already know the API, you'll be a lot more
productive developing in a managed environment. The .NET Framework is a
standard part of Vista and future Windows. What's your objection to it?
 
PvdG42 said:
Any managed code app (VB, C#, C++/CLI) you create requires that applicable
version of the .NET Framework on the target machines. You can write native
Windows apps in C++, if you learn to program directly against the Windows
API. That way any API function calls are handled by various DLL's that are
part of Windows itself. There's a pretty steep learning curve associated
with API programming. Unless you already know the API, you'll be a lot
more productive developing in a managed environment. The .NET Framework is
a standard part of Vista and future Windows. What's your objection to it?


Windows has an installed base of over 1 billion. Vista has an install base
of 40 million. My concern is that anything written in managed code stands a
good chance of running into problems if the intent is to widely distribute.
 
Windows has an installed base of over 1 billion.  Vista has an install base
of 40 million.  My concern is that anything written in managed code stands a
good chance of running into problems if the intent is to widely distribute..

Given how many other applications written in .NET there are already,
the comparison is not exactly valid. To give an example, control panel
for ATI and NVIDIA graphics drivers is written in .NET; thus, anyone
who has those drivers installed (how many out of those 1 billion is
that, I wonder? probably more than 50%) also has some version of .NET
installed already. And, of course, noone stops you from
distributing .NET framework with your application, and you can make
your installer launch the installer for the framework automatically if
needed.

It's really no big deal. But even so, if the question is still valid:
If I can't do this using .NET, then what language/system should I use?

Then the answer is: use C++. It used to be Delphi as well, but
considering lack of new releases and uncertainties about its future, I
wouldn't start any new projects using it. So C++ it is. If you want a
rich C++ UI class library comparable, and in many areas surpassing,
what .NET has to offer, look at Qt - though that costs a lot for
commercial projects. Otherwise, there's MFC, WTL, wxWidgets, and
dozens of other less popular frameworks.
 
Back
Top