ASP.NET MVC-Bereitstellung in Form eines Verteilungspakets

8

Ich habe eine ASP.NET MVC-Anwendung. Und ich brauche eine Möglichkeit, es zu deployen.

ABER

Ich muss es nicht einfach auf meinen eigenen Webserver kopieren. Es ist nicht beabsichtigt, eine Website zu sein, die im Internet verfügbar ist. Nein.

Stattdessen müssen meine Benutzer auf ihrem eigenen Server installieren können. Das kann oder kann nicht aus dem Internet sichtbar sein.

Das heißt, ich muss ein MSI-Paket (oder selbstentpackendes EXE-Installationsprogramm oder was auch immer) erstellen, auf das mein Kunde einfach doppelklicken kann, und die MVC-Anwendung sollte auf ihrem lokalen IIS installiert werden.

Ich kann natürlich einfach Code schreiben, der die Dateien extrahiert, auf die lokale Festplatte kopiert und dann in IIS eine Website oder ein virtuelles Verzeichnis erstellt, bla-bla-bla. Aber etwas sagt mir, dass es einen einfacheren Weg geben sollte. Wie zum Beispiel eine WiX-Erweiterung, die das schon macht. Oder etwas.

Hinweis: Die Anwendung ist sehr einfach. Keine Notwendigkeit für Datenbanken, spezielle Privilegien, SMTP-Server-Konfiguration ... Oder tatsächlich jede Art von Konfiguration. Kopieren Sie einfach die Dateien und erstellen Sie eine IIS-App.

    
Fyodor Soikin 26.04.2011, 12:19
quelle

4 Antworten

6

Dies erfordert möglicherweise etwas Codierung, aber (wenn Sie eine ziemlich vorzeigbare Benutzeroberfläche benötigen) gibt es eine Funktion im Build-Bereitstellungspaket von Visual Studio.

Wo Sie ein Paket erstellen, das Ihr Kunde ausführen kann, um alle notwendigen Dinge in IIS zu erstellen, werden auch die IIS-Einstellungen angewendet. Scott Hanselman hat eine Reihe von Beiträgen darüber. Sie können die Standardeinstellungen aus den Paket- / Veröffentlichungseinstellungen ändern.

. Um die Pakete zu implementieren, müssen Sie msdeploy.exe haben. Sie könnten den gezippten Ordner senden, und wenn Ihre Kunden die .cmd-Datei ausführen, sind sie in kürzester Zeit einsatzbereit. Wenn Sie jedoch hübsche Schleifen um das Paket legen möchten, können Sie es aus einer C # -Anwendung heraus ausführen. Es wird etwas Kodierung benötigt, aber ich bin mir sicher, dass das nicht länger als 15 Minuten dauern wird.

%Vor%

Alles, was Sie im Grunde tun müssen, ist

%Vor%     
Sevki 13.05.2011 07:06
quelle
1

Immer wenn ich auf eine komplexe Installation stoße, wende ich mich immer an WiX.

Sie können WiX verwenden, um Ihre MVC-basierte Website zu installieren und dann die IIS-Erweiterung ( Ссылка ) zu verwenden. um einen neuen App-Pool und eine Site zu erstellen, unter der er ausgeführt werden kann.

Ein paar Probleme, die mir einfallen könnten, könnten Sie tiefer untersuchen:

  • Was ist, wenn der Benutzer IIS nicht installiert hat?
  • Was ist, wenn sie das MVC Tools-Paket nicht installiert haben (aka Bündeln oder nicht bündeln)?

Abgesehen von diesen Punkten denke ich, dass WiX + die IISExtension problemlos Ihre grundlegenden Dateien abdeckt, Dateien kopiert und Website-Anforderungen erstellt.

    
BGregorius 13.05.2011 19:30
quelle
1

Was ist mit dem Installationsprogramm für Web-Plattformen? Einige Links, die bei der Verwendung des Installationsprogramms für Web-Plattformen für Ihr Produkt hilfreich sein können:

Giedrius 13.05.2011 06:27
quelle
0

Es gibt webspezifische Setup-Projekte in Visual Studio, die Sie verwenden können, obwohl ich der Meinung bin, dass die verschiedenen Bereitstellungsprojekttypen irgendwann zugunsten von WiX eingestellt werden.

Ich weiß nicht viel über WiX, aber ich würde mich definitiv zuerst darum kümmern, um zu sehen, ob es das macht, was Sie wollen. Ich stelle mir vor, ich würde mit einem WiX-Paket enden, das die Dateien an den Ort extrahiert, an dem der Benutzer sie angefordert hat, und dann ein PowerShell-Skript (im Paket implementiert) ausgeführt hat, um IIS usw. nach Bedarf zu konfigurieren.

    
Neil Barnwell 26.04.2011 12:25
quelle

Tags und Links