Wie kann ich eine C # -Anwendung bereitstellen, wenn Benutzer .NET nicht installiert haben?

7

Ich habe ein C # -Programm, das ich meinen Benutzern zur Verfügung stellen möchte, aber das Problem ist, dass es .NET Framework Version 4.0 benötigt. Dies ist ein Problem, weil es vor kurzem (April 2010) veröffentlicht wurde und viele Leute es wahrscheinlich nicht haben. Erschwerend kommt hinzu, dass es einige Zeit dauert, das Framework herunterzuladen und zu installieren (~ 10 Minuten).

Gibt es eine Möglichkeit, nur einen Teil des benötigten Frameworks zu installieren? Wenn das nicht möglich ist, kann ich meinen Code für bestimmte Systeme in eine native Binärdatei kompilieren

z. x86 32-Bit, x86 64-Bit usw.

Ich habe mir eine Firma namens 'löffel' Ссылка angesehen, aber das sieht so aus, als würde sie nur Apps auf einem Server emulieren (so ähnlich wie Citrix) ). Was kann ich tun, um dieses Dilemma zu lösen?

    
Daisetsu 26.05.2011, 23:51
quelle

2 Antworten

20

Jeder, der Ihr Programm ausführen möchte, benötigt die entsprechende Version von .NET Framework. Es gibt keine Möglichkeit, dies zu umgehen. Es erstaunt mich ehrlich, wie oft diese Frage gestellt wird. Sie können .NET-Code nicht in irgendeine Art von "nativer Binärdatei" kompilieren, und Sie können nicht nur die Teile des Frameworks verteilen, die Sie benötigen. Wenn Ihnen das alles wichtig ist, sollten Sie am Anfang eine andere Entwicklungsplattform gewählt haben.

Ihre einzige Option besteht darin, das .NET Framework zusammen mit dem Installationsprogramm Ihrer Anwendung zu bündeln. Um dies für Ihre Kunden einfacher zu machen, verwenden Sie Visual Studio, um ein Setup-Projekt zu erstellen, das die .NET-FW automatisch installiert, falls sie es noch nicht installiert hat, und dann Ihre Anwendung in einem einzigen Schritt zu installieren / p>

Visual Studio verfügt über eine integrierte Unterstützung für das Erstellen eines solchen Setup-Projekts, und die meiste schmutzige Arbeit wird für Sie erledigt. Datei - & gt; Neues Projekt - & gt; Andere Projekttypen - & gt; Setup & amp; Bereitstellung - & gt; Visual Studio-Installationsprogramm Wählen Sie dann entweder die Option "Setup Project" oder "Setup Wizard" und folgen Sie den Anweisungen.

Beachten Sie, dass Sie, da Sie für .NET 4.0 entwickelt haben, zwei Versionen dieses Frameworks haben: die Vollversion und das "Client Profile". Das Clientprofil ist ein Versuch genau das zu tun, wenn Sie nur die Teile des Frameworks erwähnen und installieren, die von der typischen Anwendung verwendet werden. Sie müssen zuerst herausfinden, dass dies eine Bereitstellungsoption für Sie ist. Wenn Ihr Programm Klassen verwendet, die im Client-Profil nicht verfügbar sind, müssen Sie die Vollversion installieren. Andernfalls können Sie das Clientprofil installieren, das standardmäßig für alle neuen Projekte verwendet wird, die auf .NET 4.0 in VS 2010 abzielen. Überprüfen Sie die "Zielframework" -Einstellungen für Ihre Anwendung unter Projekteigenschaften. Wenn es nicht bereits auf das Client-Profil eingestellt ist, versuchen Sie es zu ändern und sehen Sie, ob es kompiliert wird. Auf diese Weise können Sie am schnellsten feststellen, ob diese Bereitstellungsoption für Sie verfügbar ist. Aber zwischen den beiden Frameworks gibt es nur einen Größenunterschied von etwa 15%. Es ist also nicht wirklich ein großer Deal, wenn Sie die Vollversion bereitstellen müssen.

In beiden Fällen ermittelt und bündelt das Setup-Projekt automatisch die korrekte Version für Ihre App. Lassen Sie den Benutzer das .NET-Installationsprogramm nicht separat herunterladen und ausführen. Verwenden Sie das Setup-Projekt und tun Sie dies automatisch für sie. Wenn du VS nicht hast oder nicht verwenden willst, untersuche Alternativen, wie Inno Setup , die auch die Bereitstellung und Installation der .NET-Laufzeit mit einer App unterstützen.

    
Cody Gray 26.05.2011, 23:58
quelle
1

In vielen Fällen benötigen Sie nicht das gesamte .NET Framework 4.0 und können das viel kleinere .NET verwenden Framework-Clientprofil Sie können dann ein Installationsprogramm verwenden, um das Clientprofil-Installationsprogramm mit Ihrer App in einer einzigen Bereitstellung zu bündeln.

Sie können keine .NET-App ohne das Framework ausführen. Wenn dies ein Bereitstellungsproblem für Ihre Kunden ist, sollten Sie entweder ein Click-Once-Installationsprogramm (webbasierte automatische Installation und Aktualisierung) in Erwägung ziehen oder die App auf Silverlight portieren.

    
emfurry 26.05.2011 23:57
quelle

Tags und Links