Frage

würde Ich mag mit meiner Anwendung Neuverteilung .NET-Runtime, wenn möglich, vermeiden, da sie die Größe der Anwendung erhöhen, Downloadzeit, Entwicklungszeit und möglicherweise viele verschiedenen Bereitstellungsfehler einführen. Hat Microsoft Kraft Benutzer .NET-Laufzeit über Windows-Update zu aktualisieren? Wenn nicht, was sind einige der Optionen auf .NET-Runtime-Neuverteilung? Hat Microsoft macht es nicht leichter wieder dstribute Laufzeit mit .NET appliactions? Auch ist .NET-Laufzeit seine rückwärtskompatibel gauranteed?

ich zusammenfassend nur die Antworten hier. Sieht aus wie wir ein Bootstrap-Programm, um zumindest zu prüfen, für die Existenz der .NET Laufzeit haben müssen. Die Alternative besteht darin, die Laufzeit zu verpacken und bereitstellen, wenn sie noch nicht existiert. Es gibt mehrere Optionen für die Verpackung und Visual Studio eine Option bereitstellt Installer-Projekt mit der Laufzeit zu bauen. Es gibt auch andere Verpackungsarten wie InnoSetup, WIX etc (nicht sicher, welche Option ist besser und kostenlos). Runtime-Installation erfordert einen Neustart und die gewählte Installationsoption sollte die Installation von Anwendungen Post Neustart wieder aufnehmen.

War es hilfreich?

Lösung

Auch Sie sollte Sorgen darüber. Ohne die Laufzeit Ihrer Anwendung funktioniert auf mysteriöse Weise nicht. Sie sollten nie davon ausgehen, dass einige bestimmte Version der Runtime vorinstalliert ist.

Wie oben erwähnt, wird der Installer Projekt-Assistenten in VS eine Setup-Datei erstellen, die es nur herunterlädt, wenn nötig. NSIS und Inno Setup haben Skripte, die das gleiche tun werden. Beachten Sie, dass Sie benötigen, zu behandeln Neustart-und-weiter-Setup, wenn Sie die Runtime installieren. Ich glaube, der Installationsassistent übernimmt dies für Sie.

Andere Tipps

Nur ein Windows Installer-Projekt machen. Sie sollten dies als eine Option in VS2005 und VS2008 haben. Es wird sicher, wenn Sie Anwendung installieren, die das System für diese Angelegenheit, die .NET-Laufzeit und andere erforderliche Software hat. Dies wird es zu Ihrem Installationspaket hinzufügen, nicht Ihre Anwendung. Dies ist in der Regel, wie Sie Ihre Anwendungen installieren oder Sie verwenden Installshield.

Hier ist eine Anleitung .

alt text http://img154.imageshack.us/img154/2066/newprojectr .png

Wenn Sie Ihr Installationspaket erstellen, es wird nur die Laufzeit installieren, wenn es erforderlich ist. das heißt nicht bereits auf dem System (oder falsche Version)

Edit: Ja Sie dieses Paket erstellen sollte, es macht Ihnen das Leben für diese genaue Sache viel einfacher. Die Art und Weise, wie Sie dies in VS tun würde, ist File-> Projekt und wählen Sie intstaller Projekt. Der Assistent führt Sie durch die Optionen führen.

ein Bootstrap-Programm von einer Art verwenden, können Sie überprüfen, ob .NET installiert ist, und es dann herunterladen, wenn notwendig.

Zum Beispiel mit der MSI Fabrik Bootstrap (ich bin nicht dafür, MSI Fabrik, es ist ein hässliches Programm. Aber die Bootstrap es mit allein kommt, ist auch die Lizenzkosten wert, wenn Sie kommerzielle Software sind die Entwicklung, wie wir es tun) Skripte ist man einfach schließen kann diese Funktion auszuführen. Wir verwenden WiX + das MSI Factory-Bootstrap-Programm sowohl eine einzelne komprimierte EXE (30Mb) und ein kleines 1MB „Downloader“ EXE zu verteilen, die ein MSI herunterlädt. Sowohl EXE-Scheck für das Vorhandensein von .NET 2.0 und dann herunterladen, wenn nötig. Wir vertreiben auch eine eigenständige MSI, die auch .NET und blockiert die Installation überprüft denn wenn es nicht vorhanden ist.

Im Grunde Sie haben die folgende:

  • Windows XP - nicht mit .NET versenden. Kunde muss es manuell installieren (es erscheint als optionale Windows Update-Komponente)
  • Vista - Schiffe mit .NET 2.0 (aber nicht 1.1)
  • Server 2003 - Schiffe mit .NET 1.1

Ignorieren .NET 1.1, einfach ignorieren. Vista-Benutzer und darüber hinaus wird es nur für Legacy-Anwendungsunterstützung installiert hat, oder wenn sie sind ein Entwickler.

.NET 2.0 ist das am häufigsten installierte Version von unserer Kundenbasis haben wir festgestellt, dass weniger als 10% der Nutzer haben .NET 3.5 installiert ist. Wenn Ihre Anwendung ein technisches, geeky Publikum Targeting dann würde ich sagen, dass ~ 50% der Menschen, 3.0 .NET hat. Wenn Sie einen Verbraucher / Einzelhandel / Nicht-Tech-Markt Targeting, können Sie wahrscheinlich schätzen rund 30% mit .NET 2.0 und 10% mit 3,0 .NET oder höher.

Die oben genannten Zahlen sind auf Browser-Traffic auf unsere Websites basieren, ein meist nichttechnischen Publikum. Dies ist wahrscheinlich der beste Weg, um eine Idee für Ihren Markt zu bekommen. IE meldet immer die .NET-Version im User-Agent-String so die weblogs ausbrechen und starten Analyse:)

Es hängt davon ab. Wo ich arbeite, wir sind es im Installer als Voraussetzung, weil wir einige Kunden, die nicht über eine Internetverbindung kann die Laufzeit zum Download bereit.

Ein paar Dinge, die Sie tun können:

  1. Fügen Sie einen Test für die Version von .NET auf der Zielmaschine und Ausfahrt aus der Installation, wenn sie nicht da.
  2. Erstellen Sie eine Version der Installation, dass die .NET-Laufzeit enthält und es installieren, wenn nötig.
  3. Erstellen Sie eine Version der Installation, dass die .NET-Laufzeit herunterladen und installieren, wenn nötig.

Wenn ich meine Kunden kannte alle Online waren, würde ich tun Option 3 für .NET sowie alle anderen Voraussetzungen wie Crystal Reports oder SQL Express. Ich habe installiert, wo ich, dass eingeschlossen haben und die Installation ist über 100 MB. 70MB + ist Voraussetzung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top