Ich versuche, ein allgemeines Verständnis für das zu entwickeln, was in dieser Situation häufig vorkommt, damit ich entscheiden kann, ob es sinnvoll ist, es weiter zu verfolgen.
- Sind Installateure in einer typischen Unternehmensumgebung mit den folgenden Eigenschaften willkommen?
- Kontrollprozess ändern
- Entwicklungs- / Qualitätssicherungs- / Produktionsumgebungen
- Designated Deployment-Teams für verschiedene Bereiche (Firewall, Datenbank, Windows usw.).
- Gibt es einen "Lackmustest", der auf eine Anwendung angewendet werden kann, um festzustellen, ob er ein guter Kandidat für die Erstellung eines Installationsprogramms ist? *
- Sind die Installationsprogramme so einfach, dass jede Anwendung eine haben sollte?
- Sind Installateure überhaupt das richtige Werkzeug?
- Ist es vernünftig zu erwarten, dass Entwickler etwas wie WiX lernen, um Installer zu unterstützen?
- Die Wartbarkeit im Allgemeinen ist ein Problem, dh ist die Schaffung eines Installateurs eine Nischenkompetenz?
*
Zum Beispiel habe ich eine Reihe von Winform-Anwendungen, die sich in einem freigegebenen Verzeichnis auf einem Produktionsserver befinden. Bestimmte Gruppen können die Anwendungen in diesem Verzeichnis ausführen, aber nur Systemadministratoren können die ausführbaren Dateien ändern. Der aktuelle Bereitstellungsprozess umfasst das Kopieren / Einfügen der ausführbaren Dateien und Bibliotheken durch einen Administrator in das freigegebene Verzeichnis.
Ist es sinnvoll, ein Installationsprogramm für die Bereitstellung neuer Versionen dieser Anwendungen im freigegebenen Verzeichnis zu erstellen, da die Anwendungen nicht auf dem Computer der einzelnen Benutzer installiert sind?
Bearbeiten--
Ich hatte das Gefühl, dass die Antworten hier gute Ratschläge gaben, und wollte daher mitteilen, was ich für mein aktuelles Projekt entwickelt hatte, in dem ich eine große Anzahl von Anwendungen erstellen und diese in einzelnen Ordnern bereitstellen musste.
Ich habe ein NuGet-Paket namens _PublishedApplications gefunden , das das Verhalten von _PublishedWebsites für Webprojekte nachahmt. Die Idee ist, dass Sie das NuGet-Paket in Ihre Projekte installieren und ein Ziel hinzufügen, das die Build-Artefakte in ein _PublishedApplications-Verzeichnis im Ausgabepfad kopiert. Dieses Verhalten wird aktiviert, indem MSBuild über die Befehlszeile ausgeführt und eine outdir
Eigenschaft angegeben wird:
msbuild /p:Configuration=Release /p:outdir=C:\path\to\outdir MySolution.sln
Dadurch erhalten Sie eine Verzeichnisstruktur, die der folgenden ähnelt:
- C: \ path \ to \ outdir
- _PublishedApplications \
- Projekt 1\
dlls, exes, etc.
- Projekt2 \
...
- Projekt 1\
- _PublishedApplications \
Von dort aus ist das Erstellen eines Reißverschlusses, der in den verschiedenen Umgebungen extrahiert werden kann, ziemlich schmerzlos.
.msi
Installationsprogramm bereitstellen ? Zumindest diese können mit minimalem Aufwand vollautomatisiert werden. (