IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Framework .NET Discussion :

Distribuer des Modules C# .NET en "StandAlone"


Sujet :

Framework .NET

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations forums :
    Inscription : Mars 2006
    Messages : 85
    Points : 95
    Points
    95
    Par défaut Distribuer des Modules C# .NET en "StandAlone"
    Bonjour,

    Je veux pouvoir distribuer quelques modules en "standalone" à cause de trois raisons:
    a) performance en évitant le JIT des gros morceaux, b) possibilité de protection de l'exécutable par cryptage avec un dongle, c) indépendence du NET framework.

    La question: je connais le linker de "remotesoft.com" mais le prix est hors ma possibilité.

    Pour la partie a) j'ai testé performance avec ngen.exe, qui crée une image exécutable. C'est super comme gain de vitesse, mais je ne réussis pas à transformer cette "image" en un *.exe standalone que je puisse distribuer.

    Ma question est de savoir si cette transformation (du IL à un exe standalone) peut être faite avec des outils MS.

    Merci de me pointer vers une doc. qui me permette d' étudier et résoudre ce pb.

    Cordialement,
    Horacio

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par FDR2006 Voir le message
    je connais le linker de "remotesoft.com" mais le prix est hors ma possibilité.
    pas possible autrement qu'une solution payante (et sacrément payante).

    Citation Envoyé par FDR2006 Voir le message
    mais je ne réussis pas à transformer cette "image" en un *.exe standalone que je puisse distribuer.
    pas possible

    Citation Envoyé par FDR2006 Voir le message
    Ma question est de savoir si cette transformation (du IL à un exe standalone) peut être faite avec des outils MS.
    pas possible

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations forums :
    Inscription : Mars 2006
    Messages : 85
    Points : 95
    Points
    95
    Par défaut
    Merci pour les réponses,
    Ce serait un beau sujet de recherche !

    Cordialement,

    Horacio

  4. #4
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Tu peux te lancer dedans si tu veux

    En fait, l'idée pour faire un compilateur natif pour le code .NET est de compiler le code msil en natif en modifiant les appels aux JIT faites dans le CLR (ce qui est possible via certaines interfaces exposées par le CLR natif) et forcer l'appel au JIT sur toutes les fonctions sans exceptions.

    Mais il faudrait aussi le faire pour les assemblies de base et émuler les clefs de registre nécessaires au CLR ainsi que l'emplacement des assemblies (rôle tenu par fusion.dll ou un truc du genre). Il ne faut pas non plus oublier que dans le CLR il y a aussi une politique de droits d'exécution du code qui ne serait pas respecté, et aussi inclure le code générer dans une dll native.

    Il y a encore autre chose, c'est que si on compile tout en natif on n'aurai plus accès à la réflexion ou a la génération de code dynamique vu que le runtime n'est plus inclut donc le remoting ou la serialization xml ne marche plus, etc etc.

    Donc c'est pas si "simple".

    L'autre côté serait d'essayer de customiser le runtime Mono pour l'inclure dans la dll .NET (vu que pour le .NET Framework, il me semble que même la licence l'interdit) mais ça fait que chaque application .NET ferait au minimum ~30 Mo (taille du runtime Mono) et il faudrait inclure toutes les dlls et les extraire au lancement de l'application avant de céder la main au runtime Mono, en prenant soit de prévoir les cas où par exemple on exécute l'application en 64 bits (car le lanceur en C++ natif est sensible à l'architecture du processeur, alors que les applications .NET ne le sont pas).


Discussions similaires

  1. Recherche des dépendances des modules
    Par slowpoke dans le forum Mandriva / Mageia
    Réponses: 9
    Dernier message: 11/12/2003, 08h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo