Question

Y at-il approche de convertir une application développée en .NET dans un exécutable natif (sources sont inclus)?

Installation du cadre entier (jusqu'à .NET Framework 3.5 SP1) prend beaucoup de temps - pas toujours les ordinateurs sont mis à jour à partir de l'Internet. Est-il possible d'appeler NGen afin de produire des executables indépendants?

Merci

Pas de solution correcte

Autres conseils

Il est pas encore disponible, mais l'équipe du projet Mono travaillent sur un Avant compilateur JIT qui va faire ce que vous recherchez. L'intention est de Mono pour travailler sur l'iPhone (comme l'unité), mais il devrait fonctionner pour toutes les plates-formes.

Modifier Il supporte x86 Mono, mais je ne sais pas s'ils ont inclus la fonctionnalité qui emballe dans des classes dépendantes encore (bien que d'une interview que j'ai entendu, il est prévu)

Edit 2: Y compris les dépendances est actuellement pris en charge, grâce dykam

Non, le code NGen'd doit encore le cadre - il seulement pré-JIT le code dans vos propres assemblées. Elle exige également le cadre pour le CLR lui-même.

Je crois que Mono a un compilateur statique qu'ils envisagent d'utiliser pour l'iPhone. Je ne sais pas si cela fonctionnera sur Windows aussi bien que.

Il y avait un produit appelé Thinstall que certaines personnes ont utilisé pour cela. Il est maintenant appelé ThinApp - essentiellement c'est la virtualisation d'application. Il est commercial, mais vous pouvez bien être en mesure de mettre la main sur une version d'essai.

Personnellement, je serais un peu préoccupé par un tel produit - en matière de déploiement, virant loin de la façon ordinaire de faire les choses ressemble à une recette pour un bon nombre d'appels de soutien. Il y a juste beaucoup de choses à aller mal. Je ne dis pas que cela ne fonctionne pas, juste que je serais méfiant.

Avez-vous regardé . NET 3.5 (SP1) profil client ? Cela peut aider à réduire vos besoins d'installation un peu.

il est avec .NET 3.5 SP1 possible d'installer un plus petit sous-ensemble du framework .NET. Jetez un oeil à cette capture d'écran: propriétés du projet Visual studio
(source: windowsclient.net )

Vous pouvez utiliser NGen pour rendre votre application un exécutable natif, mais il sera toujours tributaire du cadre .Net.

NGen compile les exes à exes indigènes, ils ne ont pas besoin d'être compilé JIT lors de leur exécution. Ils sont toujours en fonction du cadre cependant.

Il y a quelques sociétés commerciales qui ne fournissent des produits pour la compilation des assemblages .NET dans exes autonomes. Xenocode et de vmware ThinApp . Ni ne coûtent pas cher cependant.

Certains Obfuscators (navire avant vous à vos utilisateurs) font cela, vous devez le faire à l'avance si. Un exemple est Salamandre remotesoft.

Vous ne devez installer la version de .NET que vous ciblez par exemple .NET1.1 ou .NET2.0

Modifier : Si vous devez cibler la version 3.5, vous devez installer à la fois 2.0 et 3.5

ILMerge (Free) peut combiner plusieurs assemblées en un seul, mais je ne pense pas que cela fonctionne avec les runtimes de base.

En bref, je pense que si vous voulez exécuter des programmes .NET, vous aurez besoin du .NET Framework installé.

Il est un produit commercial qui prétend faire ici:

http://www.xenocode.com/Obfuscator/

"Déployer des applications .NET en toute sécurité, sans installer .NET Framework"

Aucune idée de ce que les inconvénients à ce serait bien

ThinApp (anciennement Thinstall) à partir de vmware. Utilisé pour être très cher, cependant.

http://www.vmware.com/products/thinapp/

Le seul produit, nous avons créé pour résoudre le problème en 2007 était Xenocode Postbuild . A partir de ce moment-là, nous utilisons ce produit avec succès, nous utilisons également ses très bons fonctionnalités de virtualisation.

Le seul problème est que la version que nous avons acheté ne supportent pas Windows 7 (où vous n'avez pas besoin d'installer .NET Framework pour exécuter votre programme compilé avec la version <4.0). Donc, je l'ai écrit à Xenocode. Ils ont répondu

  

Afin d'obtenir un soutien pour Win 7, vous devez mettre à niveau vers la dernière version de Postbuild (maintenant appelé .NET Obfuscator ). Win 7 n'est pas une plate-forme prise en charge pour Postbuild 2007.

Pourquoi ne pas Ngen.exe? http://msdn.microsoft.com/en- nous / bibliothèque / 6t9t5wcf (v = vs.80) .aspx

Il convertit .Net Programs en Native Programs aussi et vous l'avez déjà si vous avez le Net Framework

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top