Question

I have a strange requirement to ship an application without bundling .Net framework (to save memory footprint and bandwidth).

Is this possible? Customers may or may not have .Net runtime installed on their systems.

Will doing Ngen take care of this problem? I was looking for something like the good old ways of releasing C++ apps (using linker to link only the binaries you need).

Was it helpful?

Solution

One option without using Ngen may be to release using the .Net Framework 3.5 SP1 "Client Profile". This is a sub-set of the .Net Framework used for building client applications which can be downloaded as a separate, much smaller, package.

See details from the BCL Team Blog here and Scott Guthrie here.

OTHER TIPS

Common solution in such situation which a the standard de-facto is that your customers should have the proper version of .Net framework, as soon as it's the part of Windows Update. So your installer should check availability of .NET of version your use on client's machine and propose to download it from Microsoft. This will prevent your company to transfer it through your channel and ensure your application has correct infrastructure,

have you checked salamander?remotesoft

Just FYI,

This topic is already discussed. Unfortunately I can't find the link at the moment (SO search should be improved).


Ok I found similar question:

.NET Framework dependency

I recall that there was exactly the same question, but I can't find it :(

If your software requires .NET then your end users will need the same version of .NET. You cannot "link in" .NET into your executable to create a single .exe, like you can with MFC or Delphi. If your installer doesn't install the .NET runtime then you will need to ensure that the user is aware if this and point them to the .NET download from Microsoft.

You can use "Client Profile", it is a subset of .NET Framework for desktop applications. Size of client profile is about 20 MB

You can also include the bootstrapper 'setup.exe' that is created in VS. It'll detect whether you have the neccessary .net version, and if so, launch the installer; if not, it'll prompt you to download the framework.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top