How to make project working without .net framework

  • Thread starter tomasz.michalak
  • Start date
T

tomasz.michalak

Hi

I am writing application in C# and what i want is to make it working
on computers without .net framework. Is it possible ? if yes, how can
i do it ?

Thanks,
Tom
 
P

Pavel Minaev


I find this product extremely suspicious. Setting aside the issue with
it being essentially a clever hack with no support from MS, there's
also the question of licensing. For example, they say:

"Required portions of a third-party .NET Framework payload are
automatically selected and embedded into the executable, dramatically
reducing the complexity of application testing, deployment, and
support."

Now I'm pretty sure that "embedding" (essentially statically
linking) .NET Framework would produce a derived work, so unless
the .NET license agreement explicitly permits it, the result cannot be
redistributed under the copyright law. With Mono, assuming they
support it, the problem is that it's under LGPL, so any result of such
static linking would also have to be.

I may be wrong, of course, but I would still strongly recommend asking
a lawyer before even considering to use this thing.


Now as to the original question... it may be possible to just use
Mono. It has a Windows version, and, unlike .NET, it does not require
a system-wide install - you can perfectly well have a local copy of
Mono within the installation directory of your app, and avoid
registering any COM components and otherwise messing with the registry
during installation - this is similar to how many Java apps bundle
their own JRE. Mono is pretty small too. The downside is that 1) it is
slower (Mono JIT and GC can be several times slower than .NET
implementation), and 2) not all .NET APIs are supported - WinForms is
mostly okay but has some glitches, and you can forget about WPF/WCF/
WWF.
 
A

Arne Vajhøj

Pavel said:
I find this product extremely suspicious. Setting aside the issue with
it being essentially a clever hack with no support from MS, there's
also the question of licensing. For example, they say:

"Required portions of a third-party .NET Framework payload are
automatically selected and embedded into the executable, dramatically
reducing the complexity of application testing, deployment, and
support."

Now I'm pretty sure that "embedding" (essentially statically
linking) .NET Framework would produce a derived work, so unless
the .NET license agreement explicitly permits it, the result cannot be
redistributed under the copyright law. With Mono, assuming they
support it, the problem is that it's under LGPL, so any result of such
static linking would also have to be.

Closed source can not be linked with GPL code, but LGPL is OK.

Arne
 
P

Pavel Minaev

Closed source can not be linked with GPL code, but LGPL is OK.

No, it is not. Linking _dynamically_ with LGPL is okay (e.g. if all
LGPL'ed code is in a separate DLL). Linking statically is not. This is
so because LGPL requires that you provide the user not only with the
source code for LGPL part, but with the means for him to recompile and
replace it. This means that either it has to be a DLL, or (for C/C++
and the likes) you can link statically if you provide object files for
your closed-source modules, so that the user can link them with
recompiled LGPL'ed code and produce a working executable.
 
A

Arne Vajhøj

Pavel said:
No, it is not. Linking _dynamically_ with LGPL is okay (e.g. if all
LGPL'ed code is in a separate DLL). Linking statically is not. This is
so because LGPL requires that you provide the user not only with the
source code for LGPL part, but with the means for him to recompile and
replace it. This means that either it has to be a DLL, or (for C/C++
and the likes) you can link statically if you provide object files for
your closed-source modules, so that the user can link them with
recompiled LGPL'ed code and produce a working executable.

I get the point - this would of course be impossible for the type
of code embedding being discussing

Arne
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top