Create a standalone exe without the need to install .NET framework

落花浮王杯 提交于 2019-11-30 17:26:06
Carlos Landeras

If you want to execute an application that is developed using Net Framework 4, you will need to have installed .Net Framework 4 on client computer.

Your application is compiled in CIL (Common Intermediate Language), so it needs to be interpreted by the framework engine.

It is the same if you want to execute a Java program. You will have to install the Java Machine.

The only way you don't need to install frameworks is programming native applications with C, C++.

C# now supports this with .NET Native.

Instead of compiling to intermediate language, it will compile to native code and run with statically linked .NET libraries. Therefore, there will be no .Net Runtime requirements for end-users.

https://msdn.microsoft.com/en-us/vstudio/dn642499.aspx

https://msdn.microsoft.com/en-us/library/dn584397(v=vs.110).aspx

Only works for Windows 10

You can't build a C# executable without .NET Framework. Even if some resources indicate that you can, that only works in theory.

But you could use an older version of .NET Framework like .NET 4.0. If this doesn't work for you, you have to choose a language like C++ which doesn't require CLR at all.

Update 2018:

Do not target .NET 2.0 or 3.5. It's not compatible with the 4.x version. However, .NET 4.0 targeted binaries work with .NET Framework 4.0, 4.5, 4.6, 4.7 and so on. So to reach maximum compatibility, compile with .NET 4.0. You will have to accept that some features will not be available, however, your binary will run virtually anywhere.

(2018: By now, .NET 2.0 - 3.5 has much lower distribution than 4.x)

Delphi is your solution, deploy native bin executables

YES, THIS IS POSSIBLE!

At least 3 ways exist:

1.you can check all OSes that you planning to run your app and build with such version of .NET. As Windows have a built-in framework libs.

Vista -.NET v3.0 -- All service packs

Windows 7 - .NET v3.5 -- All versions and service packs

Windows 8 - .NET v4.0 [Best choice if you are not sure]

Windows 8.1 - .Net v4.5

Windows 10 - .Net v4.6

as they are already pre-installed by default -- no extra install will be needed.


2.You can compile it into native code (but not into CIL) with ".NET Native". This is means that there are no .Net Framework will be needed for apps.

But looks like it works only with Windows 10.


3.There is Turbo Studio (earlier Spoon and earlier XenoCode) that can wrap everything that your app needs and runs it in as a standalone.

From their site:

Turbo Studio

Run .NET Without .NET. Easily embed runtime dependencies such as .NET, Java, and SQL directly into virtual applications. Launch reliably on any desktop, regardless of underlying component installs.

You can use Mono and statically link you program, so your program don't need .NET CLR runtime and act as standalone program.

Mono Project

To be honest, it really isnt a problem nowadays. the .NET framework is found on almost every single computer nowadays, and you can even make a installer with Advanced Installer that silently install the .NET framework on your computer when you are installing the programme.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!