2009-03-21 1 views
10

Wenn Sie ein Setup-Projekt für eine Windows/Console-Anwendung erstellen, finden Sie, dass es zwei Ausgaben gibt..NET-Setup-Projekte mit Visual Studio 2008

  1. Setup.exe
  2. .msi

Was bedeutet setup.exe und .MSI tun? Welcher sollte für die Installation verwendet werden?

Ich habe gesehen, dass ich die Anwendung mit beiden installieren kann. Aber Setup.exe ist relativ kleine Datei im Vergleich zu der .MSI Datei.

Fragen

  1. Wenn ich an den Kunden zu versenden haben. Ich kann keine zwei Dateien senden. Was ist der beste Ansatz, um diese beiden Dateien in einer Setup-Datei zusammenzuführen?

  2. Ich habe gelesen, dass Setup.exe ist ein Bootstrapper, der das .NET-Framework überprüft und ruft dann die .MSI-Datei. Ist es richtig?

  3. Ich konnte nicht für die Nichtverfügbarkeit von .NET Framework testen, weil ich ein .NET-Entwickler bin und auch mein Team arbeitet auf .NET und .NET installiert haben. Ich wollte das Visual Studio nicht riskieren, indem ich das .NET-Framework deinstalliere und die Setup-Anwendung teste.

Wie installiert es .NET-Framework? Es ist 200 MB ungerade, aber mein Setup ist weniger als 3 MB.

Gibt es eine Option zum Herunterladen oder etwas?

Jede Hilfe wird geschätzt.

Danke,

+1

Etwas mit Ihrer Frage verwandt. Sieh dir Virtual PC an. Es ist sehr nützlich für das Testen der Softwarebereitstellung. Es ist auch kostenlos. Sie benötigen eine Lizenz für die Kopie von Windows, die Sie verwenden, aber ich denke, MSDN deckt das ab, wenn Sie nur das virtuelle zum Testen verwenden. – pipTheGeek

Antwort

6

Das MSI das Installationsprogramm für Ihre Anwendung ist. Die Setup-Datei ist ein Bootstrap, der nach Voranforderungen sucht. Wie die korrekte Version des Windows Installers. Ich denke, es ist auch die setup.exe, die den Download der richtigen Version des .NET-Frameworks ermöglicht. Sie können die .MSI selbst verwenden, Sie können nicht nur die setup.exe verwenden.

Sie haben Recht, dass das Setup den Download der richtigen Version von .NET Framework ermöglicht.

Es gibt Möglichkeiten, die MSI und die Setup.exe zusammenzuführen, um eine einzelne exe zu erstellen. Dinge wie eine selbstentpackende zip oder iexpress.

Warum können Sie nicht beide Dateien senden? Ich denke, wenn Sie das Setup und MSI auf einem Server zum Download veröffentlichen, wird das Setup Ihre MSI finden und herunterladen, wenn es erforderlich ist.

+0

Gute Antwort, aber afaik ist nicht ganz korrekt. Ein MSI darf aufgrund des transaktionalen Charakters einer Installation (zumindest bis zur aktuellen MSI-Version) kein weiteres MSI starten. Daher kann Ihr eigenes MSI das .NET Framework-Setup nicht starten, es muss von einem separaten Bootstrapper gestartet werden. –

+0

Ich wäre sehr interessiert, wenn Sie weitere Informationen darüber haben, wie Bootstrapper und MSI in ein neues MSI zusammengeführt werden können. Ich denke, das ist nicht möglich. Sie können jedoch Tools wie WinZip oder IExpress verwenden, um ein selbstextrahierendes Installationsprogramm zu erstellen. –

+0

@divo - 1) Sie haben Recht, ich habe meine Antwort korrigiert. und 2) ich meinte kombiniert in eine exe, kein MSI. Ich habe meine Antwort geklärt. – pipTheGeek

1

Setup.exe ist in der Tat ein Bootstrapper, der überprüft, ob die Voraussetzungen auf dem Clientcomputer verfügbar sind. Dies umfasst das .NET Framework, aber auch zum Beispiel SQL Compact Edition, wenn Sie dies in den Projekteigenschaften auswählen. Es wird nichts deinstallieren. Wenn eine Voraussetzung erforderlich ist, bietet es die Möglichkeit, diese aus dem Internet herunterzuladen oder die Installation zu stoppen.

Die MSI-Datei ist eine Windows Installer-Datei, die Ihre Software enthält.Dieses MSI kümmert sich um die Installation Ihres Produkts auf dem Client-Computer. Wenn Sie nur das MSI versenden, wird das Produkt nur auf einem Computer installiert, auf dem alle Voraussetzungen installiert sind, bevor das MSI gestartet wird.

Wenn Sie eine einzelne Dateiverteilung durchführen möchten, können Sie die beiden Dateien in einer einzigen EXE mit iexpress kombinieren. (Iexpress ist eine Software, die mit Windows verteilt wird und ermöglicht es Ihnen, Setup-Pakete zu erstellen.)

Hoffe, das hilft.

2

Der Grund für die separate setup.exe Ich denke, ist aufgrund der Tatsache, dass Sie nicht zwei MSI-Installationen zur gleichen Zeit ausgeführt werden können. Wenn Ihre Anwendung Voraussetzungen erfordert, die von MSI installiert werden, wird Ihre Installation daher Probleme verursachen.

In Bezug auf die Einrichtung des Frameworks könnten Sie in den Projekteinstellungen das .NET Framework als Voraussetzung für Ihre Anwendung einschließen und es wird installiert, wenn es nicht bereits auf dem Zielcomputer vorhanden ist. Sie können die Installation weiter verpacken oder aus dem Internet herunterladen