Gibt es Einschränkungen bei der Verwendung von VS-Setup-Projekten? Ich plane, sie zu verwenden, bin aber nicht sicher, ob das eine gute Idee wäre.Gibt es Einschränkungen bei Visual Studio-Setup-Projekten?
Antwort
Es hängt von Ihrem Projekt ab, nehme ich an. Früher war es ein Problem, Webprojekte zu erstellen, aber ich denke, dass es jetzt ein Add-in gibt, das das Einrichten einer Web-App viel einfacher macht.
Sie sind in Ordnung, wenn Sie von Grund auf neu beginnen, würde ich sagen, in WIX, oder sogar Pony das Geld für Install Shield oder eine der anderen kommerziellen, sparen Sie Zeit und Geld auf lange Sicht.
Builds können sehr langsam sein, besonders wenn Sie viele Binärdateien haben. Ich habe ein Projekt mit vielen Produktbildern, die in das Installationspaket gepackt werden, das dauert lange, sogar auf einer schnellen Maschine.
Nun, in einer fortgeschritteneren Einstellung: VS-Setup-Projekte können nicht automatisiert werden, z. Sie können Ihr Projekt und das VS-Setup-Projekt nicht auf einem Build-Server platzieren und sie automatisch erstellen lassen. Dies mag für ein kleineres Geschäft oder einen einzelnen Entwickler kein Problem sein, aber für eine größere Entwicklungsumgebung auf Unternehmensebene kann dies allein ein ziemliches Killerkriterium sein.
Um dies zu umgehen, verwenden wir WiX für unsere Setups - mehr Arbeit von vorne, aber funktioniert gut mit kontinuierlicher Integration.
Marc
Visual Studio Setup-Projekte fehlt eine Reihe von wichtigen Funktionen, die Windows Installer zur Verfügung stellt. Am bemerkenswertesten ist die Feature-Funktion, mit der Sie mehrere Tools einrichten können, die der Benutzer auswählen kann, um sie zu installieren oder auszuschließen. Wie bereits empfohlen, verwenden Sie WiX oder ein vollwertiges Installationsprogramm von Drittanbietern.
Weitere Einschränkungen ...
- Es gibt keine Möglichkeit Projekt in Setup-Validierung auf Daten auszuführen, hat durch den Benutzer über die UI-Dialoge (Akquisitionsphase) zur Verfügung gestellt.
- Es gibt keine Möglichkeit, eine benutzerdefinierte Aktion für die Ausführung mit erhöhten Rechten (Systemkonto) festzulegen.
- Es gibt keine Möglichkeit, Ihre benutzerdefinierte Aktion während der UI-Sequenz auszuführen.
Ich verstehe, dass devenv.exe erforderlich ist, um das Setup-Projekt zu erstellen. Das bedeutet, dass Sie Visual Studio auf dem Build-Server installieren müssen. Das scheint keine gute Idee zu sein, aber trotzdem könnte es automatisiert werden. Sie können Devenv mit Msbuild ausführen. Konnte die Aussage "VS-Setup-Projekte können nicht automatisiert werden" nicht verstehen. Bitte helfen Sie. –
@anand patel: Sie sagen es selbst - um VS Setup-Projekte zu erstellen, müssten Sie ein komplettes Visual Studio auf Ihrem Build-Server installieren, und das ist definitiv * nicht * eine gute Idee -> deshalb können Sie nicht VS Setup-Projekte wirklich automatisieren (es gibt keine MSBuild-Task, die Visual Studio nicht zum Erstellen von VS-Setup-Projekten verwendet) –