Incorporating bits of the framework

pettrer

Well-known member
Joined
Sep 5, 2008
Messages
92
Programming Experience
10+
Hi,

I have made a very small (only one form and no database operations) but nifty application and I want many people to be able to use it. My question is: As I only need a very small part of the dotnet framework, is there a way to let the compiler (or so) grab only the parts it needs for the .exe/.msi file, so that users don't have to install the entire 3.5 framework just to run my tiny little app?

Sorry for posting such a newbie question but I can't find any info on this subject on the net.

/Pettrer
Winforms, VB.Net, .Net Framework 3.5
 
I agree with you that the .Net 3.5 download is rather large at the current time, but people was making same complains a few years ago about .Net 2.0. I think it's 22mb today is a very small download, both this and .Net 3.0 is also included in Vista today by default. If your app compiles for .Net 3.0 or .Net 2.0 you will at least minimize possible client download a lot. Also remember that .Net is a once-only installation for client, though less comforting should your app get the "blame" :) You can however offer the application on CD bundled with the prerequisites.

Another thing is that .Net is a lot more than the parts of the libraries you're using, which itself is more than you would think as library calls library etc. .Net is also the runtime that is optimized for compiling the IL code to faster native code, it is the memory management that works for optimized memory allocations and garbage collection that makes .Net apps much faster and robust, and in many cases also other .Net management of for example various threads and connections for optimal performance and failure recovery. The .Net runtime also includes security features such as the "code access security" that with a trust system can prevent unauthorized code to execute. From the .Net overview in help:
The common language runtime manages memory, thread execution, code execution, code safety verification, compilation, and other system services. These features are intrinsic to the managed code that runs on the common language runtime.

There exists however expensive solutions that can do what you ask, such as ThinApp .Net and Salamander .Net. It's kind of cool that it is possible what they do as a concept, but also think about that you loose all CLR features and common framework service updates.
 
John,

Thanks a lot for the info. Man, you know it all. :)

/Pettrer

PS. Is the .Net framework 2.0 included in XP? (If so, I could simply make the app 2.0 compatible as you suggested.)
 
Is the .Net framework 2.0 included in XP?
Not by default, and not by automatic update, only recommended update. Using an installer like ClickOnce (Publish) with setup checked, or a msi setup project, will detect/download/install prerequisites as necessary.
Man, you know it all.
Not at all, but thanks anyway :)
 
Not by default, and not by automatic update, only recommended update. Using an installer like ClickOnce (Publish) with setup checked, or a msi setup project, will detect/download/install prerequisites as necessary.
Actually I think MS has changed that, when I install XP w/Sp3 x86 on a comp a week ago and did the MS updates, I noticed .Net 1.1 and 2.0 in the "Critical" list, so anyone using Microsoft Updates (not Windows Updates) and Automatic updates should have .Net 2.0 and SP2 installed anyways
 
Sweet!

I tried making my app .Net Framework 2.0 compatible and it worked like a charm.

(I'll provide the forum with a link when it's downloadable!)

/Pettrer
 
Sweet!

I tried making my app .Net Framework 2.0 compatible and it worked like a charm.

(I'll provide the forum with a link when it's downloadable!)

/Pettrer
If you post it as an attachment here on the forum, keep in mind it can be source code only, nothing compiled (exe's, dll's, etc)
 
Back
Top