Erstellen Sie ein Anwendungssetup in Visual Studio 2013


90

Ich habe bereits ein Projekt, das fertig zum Bauen ist. Derzeit verwende ich Visual Studio 2013.

Ich weiß jedoch nicht, wie man ein MSI-Setup in Visual Studio 2013 erstellt, aber für Visual Studio 2010 gibt es zahlreiche Tutorials, in denen erläutert wird, wie ein Setup in Visual Studio 2010 erstellt wird.

  • Bedeutet dies, dass ich Visual Studio 2010 installieren muss, um ein Anwendungssetup für mein Projekt zu erstellen?

  • Was ist der einfachste Weg, um ein Anwendungssetup in Visual Studio 2013 zu erstellen?


2
Probieren Sie Windows Installer XML (WIX) aus. Es ist äußerst anpassbar und erweiterbar. Sie können es auch in Ihre CI-Builds integrieren. Anwendungs-Setup-Projekte wurden 2012 entfernt. Sie können die Installshield SE verwenden, die zu einem bestimmten Zeitpunkt enthalten war, wenn Sie noch ein schnelles und fehlerhaftes Installationsprogramm benötigen. Verwenden von WIX im Jahr 2013
Mgetz

VS 2012 und danach gibt es kein Bereitstellungsprojekt wie 2010
kostas ch.

1
Wie wäre es einmal klicken Sir @Mgetz? und wie benutze ich den Klick einmal?
Kaoru

@Kaoru Ich habe Clickonce noch nie dazu gebracht, in einer VS-Version zuverlässig zu arbeiten, daher werde ich nicht viel helfen. Aber theoretisch würde es funktionieren.
Mgetz

2
Clickonce weist einige merkwürdige Besonderheiten auf: Sie müssen neue Versionen derselben Installation aus dem ursprünglichen Installationsverzeichnis ausführen, damit ein automatisches Update durchgeführt werden kann. Außerdem müssen Sie den angehängten Ordner mit der clickonce .exe herumtragen. Was ich getan habe, war, das Clickonce-Installationsmaterial mit winrar in ein SFX-Archiv zu packen, es immer aus dem temporären Verzeichnis auszuführen und im Wesentlichen einen "Klick noch weniger als einmal Installer" zu erstellen.
Traubenfuchs

Antworten:


131

Microsoft hat den Ruf nach Unterstützung von Installationsprogrammen (MSI) in Visual Studio angehört und die Visual Studio Installer Projects Extension veröffentlicht . Sie können jetzt Installationsprogramme in VS2013 erstellen. Laden Sie die Erweiterung hier von der visualstudiogallery herunter.

Visual-Studio-Installer-Projekte-Erweiterung


1
Neue und tolle Informationen. Microsoft sollte ihren verwandten Artikel KB2900817
Satoc

@peer Keine Lösung in VS 2012? Alternativen? Vollständige Quellcodebeispiele in VS2012?
Kiquenet

@kiquenet nein, vs2012 wird nicht unterstützt. Die meisten Projekte werden mit jeder Arbeit auf vs2013 und abwärtskompatibel mit vs2012 aktualisiert.
Peter

4
Lesen Sie den Artikel nicht weiter. Er fordert Sie lediglich auf, Folgendes zu tun: Gehen Sie zu Extras -> Erweiterungen und Aktualisierungen. Wählen Sie die Registerkarte ONLINE. Suchen Sie nach "Visual Studio Installer Projects Extension"
Gefangener NULL

Ich habe eine VS 2010-Lösung, in der sich ein Setup-Projekt befindet. Wenn die Lösung mit VS 2010 erstellt wird, wird eine MSI-Datei erstellt. Jetzt haben wir nur noch VS 2013 und ich kann das Setup-Projekt nicht ändern / migrieren. Was soll ich tun, um die MSI-Datei zu erstellen?
Jirong Hu

10

Ab Visual Studio 2012 bietet Microsoft das integrierte Bereitstellungspaket nicht mehr an. Wenn Sie dieses Paket verwenden möchten, müssen Sie VS2010 verwenden.

Im Jahr 2013 haben Sie mehrere Möglichkeiten:

  • InstallShield
  • WiX
  • Roll deinen eigenen

In meinen Projekten erstelle ich meine eigenen Installationsprogramme von Grund auf neu. Da ich kein Windows Installer verwende, habe ich den Vorteil, dass ich auch auf alten Computern sehr schnell bin.


Haben Sie @ ming-slogar eine Beispielanwendung mit einem solchen Installationsprogramm, das Sie mit uns teilen möchten?
Highmastdon

@Highmastdon: Ich habe im Grunde gerade einen Installer-Bootstrapper mit nativem C ++ erstellt (so konfiguriert, dass er ohne Vorinstallation der C ++ - Laufzeitbibliotheken ausgeführt werden kann), der nach installiertem .NET gesucht und ein WPF-GUI-Installationsprogramm gestartet hat. Mit dem WPF-Installationsprogramm konnte der Benutzer eine Reihe von Optionen auswählen, Dateien kopieren und Registrierungsschlüssel schreiben. Ich habe keine "Beispiel" -Anwendung - ich verwende das Installationsprogramm in dem Projekt, an dem ich arbeite, aber ich kann versuchen, ein Beispiel zu extrahieren, wenn Sie eines benötigen.
Ming Slogar

Ich möchte wirklich ein vollständiges Beispiel dafür sehen. Lust zu teilen? Nicht der Code selbst, sondern das Konzept und etwas aus Ihrer Erfahrung? Wie , wie tun Sie einbetten es in Projekt , das installiert werden soll , um, wie Sie gemeinsame Dinge automatisieren (Kopieren Liste der Dateien Regeln: Überschreiben / nicht ovewrite, etc). Ich benutze auch NSIS atm, aber ich bin müde von seiner Skriptsprache, der hässlichen modernen Benutzeroberfläche und dem sehr sehr langsamen Design (es ist noch in der XP-Steinzeit).
Sinatr

@ Sinatr Um Baugruppen einzubetten, habe ich intensiv Ressourcendateien verwendet - sowohl in C ++ als auch in C #. Um Dateien zu kopieren, war ich eigentlich faul und habe jede Dateioperation von Hand geschrieben (z. B. mit File.WriteAllBytesoder File.WriteAllText, je nach Dateityp). Ich habe das Überschreiben vorhandener Dateien nicht behandelt. Allen meinen Assemblys wurde mein App-Name vorangestellt (z. B. AppName.Controls.dll, AppName.Images.dll), sodass die Wahrscheinlichkeit einer doppelten Datei sehr gering ist. Wenn Sie jedes einzelne mögliche Szenario behandeln möchten, müssen Sie das tun, was Windows Installer tut - was den Zweck des Customizings zunichte macht.
Ming Slogar

7
@Kiquenet Ich habe den Code für mein benutzerdefiniertes Installationsprogramm hier hochgeladen: drive.google.com/… . Es wird aufgrund fehlender Abhängigkeiten nicht erstellt (ich habe es aus einem Live-Projekt gezogen), aber Sie können zumindest sehen, wie ich das Installationsprogramm erstellt habe.
Ming Slogar

3

Visual Studio 2013 unterstützt jetzt Setup-Projekte. Microsoft hat eine Visual Studio-Erweiterung ausgeliefert, um Setup-Projekte zu erstellen.

Visual Studio Installer-Projekterweiterung


Hallo @Hamid, nach Abschluss der Installation des MSI-Setups für Fensterformulare werden meine Rohdateien (Design und Codierung) auch am Installationsort angezeigt. Ich habe diese Anwendung mit Visual Studio 2010 entwickelt. Das Setup wurde erfolgreich erstellt, aber nach der Installation dieses MSI tritt dieses Problem auf. Bitte hilf mir. Danke im Voraus.
Dilipkumar1007

Ich versuche deine Frage zu verstehen. Sie haben ein Installationsprojekt mit Visual Studio 2010 erstellt und es funktioniert nicht mit Visual Studio 2013?
Hamid Shahid

2

Microsoft empfiehlt, die "InstallShield Limited Edition für Visual Studio" als Ersatz für das eingestellte "Deployment and Setup Project" zu verwenden - aber es ist nicht so schön und niemand anderes empfiehlt, sie zu verwenden. Aber für einfache Setups und wenn es kein Problem ist, kommerzielle Produkte von Drittanbietern weiterzugeben, können Sie es verwenden.

Die Alternative ist die Verwendung von Windows Installer XML (WiX) , aber Sie müssen viele Dinge manuell ausführen, die das Setup-Projekt selbst durchgeführt haben.


Ich stimme @Kiquenet voll und ganz zu - Sie können das Tutorial von wix.tramontana.co.hu
habakuk

Ich installiere das 2015LE im VS 2010 und kann ein IS-Setup-Projekt im VS 2010 erstellen. Wie kann ich dieses Projekt nun in Jenkins aufrufen? Das InstallShield-Plugin für Jenkins fragt nach dem Pfad zu ISCmdBld.exe, den ich in 2015LE nicht finden kann.
Jirong Hu


1

Neben Install Shield und WiX gibt es Inno Setup . Obwohl ich es nicht selbst ausprobiert habe, habe ich gute Dinge darüber gehört.


1

Ich werde erzählen, wie ich ein fast ähnliches Problem gelöst habe. Ich habe eine Anwendung mit VS 2013 entwickelt und versucht, einen Assistenten zu erstellen, für den dies nicht möglich war. Später habe ich Premium VS installiert und versucht und bin gescheitert.

Endlich habe ich "ClickOnce" benutzt und es hat gut funktioniert.

Deshalb glaube ich auch hier, "CLICKONCE" würde dir helfen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.