Ειναι ευκαιρία με αυτή την ερώτηση να εξηγήσουμε ορισμένα πράγματα.
Οι εφαρμογές .NET, όπως και οι εφαρμογές Java, απαιτούν την ύπαρξη κάποιου framework για να μπορούν να εκτελεστούν σε ένα μηχάνημα. Στη Java υπάρχει το Java runtime (με μέγεθος και αυτό διόλου ευκαταφρόνητο), στο .NET υπάρχει το .NET framework redistributable (το οποίο δεν έχει μέγεθος 100ΜΒ - νομίζω κάπου μεταξύ 20-30ΜΒ).
Η ουσία είναι οτι σε κάθε περίπτωση το αντίστοιχο runtime πρέπει να εγκατασταθεί ΜΙΑ και μοναδική φορά για να μπορούν να τρέξουν όλες οι εφαρμογές. Δηλαδή, δεν χρειάζεται να το "σέρνεις" μαζί με κάθε εφαρμογή που φτιάχνεις, μια και αν υπάρχει ήδη εγκατεστημένο στο μηχάνημα, κάθε εφαρμογή που έχει γραφτεί για .NET Framework μπορεί να τρέξει.
Σημερα, δύο redistributables κυκλοφορούν προς εγκατάσταση: Αυτό του .NET Framework 1.1 και αυτό του .ΝΕΤ Framework 2.0. Και τα δύο μπορούν να εγκατασταθούν στον ίδιο υπολογιστή και, αναλόγως σε ποιά έκδοση του Framework είναι γραμμένη η εφαρμογή, αυτόματα θα χρησιμοποιήσει και το αντίστοιχο "πακέτο" κλάσεων.
Σε κάποια λειτουργικά συστήματα όπως π.χ. τα Windows 2003 Server ειναι προεγκατεστημένο το Framework 1.1. Στα Windows Vista, αν δεν κάνω λάθος, θα είναι προεγκατεστημένο το Framework 2.0 (ή ανώτερη έκδοση, αν υπάρχει μέχρι την κυκλοφορία τους).
Γενικά, το framework είναι αυτό που λέει η λέξη. Framework. Απαιτείται για την εκτέλεση εφαρμογών που βασίζονται σε αυτό. Οι "αλλοι" μπορούν να το κατεβάσουν από τη Microsoft, να το πάρουν από κάποιο CD περιοδικού ή να το προμηθευτούν με άλλους τρόπους, αλλά, γενικά, έχοντας μια εφαρμογή γραμμένη σε .NET Framework ζητάς από τους υπόλοιπους να έχουν κατεβάσει και εγκαταστήσει το .NET Framework Redistributable. Ειναι σαν να λέμε "φτιαχνω εφαρμογές για Windows". Προϋποθέτεις οτι ο άλλος έχει ήδη Windows. Δεν του τα δίνεις μαζί με την εφαρμογή σου.
Επειδή σίγουρα το Framework δεν ορίζεται με τους ίδιους όρους με αυτούς ενός λειτουργικού συστήματος, τα πράγματα είναι πιό νεφελώδη. Εγώ πάντως φροντίζω πάντα να το βάζω στις απαιτήσεις εγκατάστασης όποιων εφαρμογών φτιάχνω. Το να τρέξεις μια εφαρμογή .NET ΧΩΡΙΣ το .NET Framework είναι, όπως καταλαβαίνεις, ουτοπικό (σαν να θέλεις να τρέξεις εφαρμογή Windows σε τοστιέρα), οπότε σε αυτό το σκέλος της ερώτησης πιστεύω οτι δεν χρειάζεται απάντηση.
Σωτήρης Φιλιππίδης
DotSee Web Services