web-dev-qa-db-fra.com

Créer un fichier EXE autonome sans avoir à installer .NET Framework

Je suis étudiant et je suis actuellement en stage en entreprise. Ce stage concerne l'analyse d'un projet. Pour ce projet, j'ai fait une démonstration à présenter au directeur du marketing. La démonstration que j'ai faite est un simple projet créé dans Visual Studio 2010 en c # avec Windows Forms et une connexion à une base de données Access. 

Alors maintenant, je dois montrer cette démo à ce réalisateur dans une présentation, mais après cette présentation, le réalisateur veut que le projet soit enregistré sur son ordinateur afin qu'il puisse essayer de l'utiliser. Le problème est maintenant que les ordinateurs de cette société n’ont pas .NET Framework 4.0 et que les ordinateurs sont tellement protégés ici que nous ne pouvons installer aucune nouvelle application. Pour installer quelque chose, vous devez suivre une procédure qui prend des semaines. 

J'ai regardé al sur Internet, mais tout ce que je trouve, c'est comment installer le framework .NET. 

Existe-t-il un moyen possible de créer un fichier exe autonome sans avoir à installer .NET Framework? S'il vous plaît aider! 

14

Si vous souhaitez exécuter une application développée à l'aide de Net Framework 4, vous devez avoir installé .Net Framework 4 sur l'ordinateur client.

Votre application est compilée en CIL (Common Intermediate Language), elle doit donc être interprétée par le moteur du framework.

Il en va de même si vous souhaitez exécuter un programme Java. Vous devrez installer la machine Java.

La seule façon dont vous n'avez pas besoin d'installer de framework est de programmer des applications natives avec C, C++.

10
Carlos Landeras

C # supporte maintenant cela avec .NET Native.

Au lieu de compiler en langage intermédiaire, il compilera en code natif et s’exécutera avec des bibliothèques .NET liées statiquement. Par conséquent, il n'y aura pas d'exigences .Net Runtime pour les utilisateurs finaux.

https://msdn.Microsoft.com/en-us/vstudio/dn642499.aspx

https://msdn.Microsoft.com/en-us/library/dn584397(v=vs.110).aspx

Ne fonctionne que pour Windows 10

8
PeterFnet

Vous ne pouvez pas créer d'exécutable C # sans .NET Framework. Même si certaines ressources indiquent que vous le pouvez, cela ne fonctionne que dans la théorie.

Mais vous pouvez utiliser une version plus ancienne de .NET Framework telle que .NET 4.0. Si cela ne fonctionne pas pour vous, vous devez choisir un langage comme C++ qui ne nécessite pas du tout CLR.

Mise à jour 2018:

Ne ciblez pas .NET 2.0 ou 3.5. Ce n'est pas compatible avec la version 4.x. Toutefois, les fichiers binaires ciblés .NET 4.0 fonctionnent avec .NET Framework 4.0, 4.5, 4.6, 4.7, etc. Donc, pour atteindre compatibilité maximale , compiler avec .NET 4.0 . Vous devrez accepter que certaines fonctionnalités ne seront pas disponibles, cependant, votre binaire fonctionnera pratiquement n'importe où.

(2018: À l'heure actuelle, la distribution de .NET 2.0 - 3.5 est bien inférieure à celle de la version 4.x)

7
bytecode77

Delphi est votre solution, déployez des exécutables bin natifs

5
LEONARDO A LINDEN

OUI, CECI IS POSSIBLE!

Au moins 3 façons existent:

1.Vous pouvez vérifier tous les systèmes d'exploitation que vous prévoyez d'exécuter et de construire avec cette version de .NET. Comme Windows ont un librairie de cadre intégré.

Vista -.NET v3.0 - Tous les service packs

Windows 7 - .NET v3.5 - Toutes les versions et service packs

Windows 8 - .NET v4.0 [Meilleur choix en cas de doute]

Windows 8.1 - .Net v4.5

Windows 10 - .Net v4.6

comme ils sont déjà pré-installés par défaut - aucune installation supplémentaire ne sera nécessaire.


2.Vous pouvez le compiler en code natif (mais pas en CIL)} avec ".NET Native". Cela signifie qu'il n'y a pas de .Net Framework nécessaire pour les applications. 

Mais on dirait que cela ne fonctionne qu'avec Windows 10.


3.Il existe Turbo Studio (antérieure Spoon et antérieure XenoCode ) pouvant encapsuler tout ce dont votre application a besoin et l'exécuter de manière autonome. 

De leur site:

Studio Turbo

Exécutez .NET sans .NET. Intégrez facilement des dépendances d'exécution telles que .NET, Java et SQL directement dans des applications virtuelles. Lancer de manière fiable sur n'importe quel poste de travail, quelles que soient les installations des composants sous-jacents.

0
Andrew

Vous pouvez utiliser Mono et lier statiquement votre programme afin que votre programme n'ait pas besoin du runtime .NET CLR et agisse en tant que programme autonome.

Projet Mono

0
dns