wake-up-neo.net

So fügen Sie die .Net Framework-Voraussetzung für die Installation der Installation hinzu

Ich habe ein C # WinForms-Projekt in MS Visual Studio 2017 . Ich habe ein Visual Studio Installer Setup Wizard Project hinzugefügt, um ein Installationsprogramm für meine Anwendung zu erstellen. Dies ist das erste Mal, dass ich ein Installer-Projekt verwende.

Der Installer hat zu Recht eine Voraussetzung für das .Net Framework 4.5.1. Ich möchte jedoch, dass das Installationsprogramm die .Net Framework-Installation einschließt, anstatt den Benutzer zum Installationszeitpunkt aufzufordern, es separat herunterzuladen und zu installieren (einige Computer der Benutzer verfügen nicht über eine Internetverbindung).

Ich habe in den Setup-Eigenschaftenseiten bereits die Voraussetzungen für "Herunterladen von Voraussetzungen von demselben Speicherort wie meine Anwendung" festgelegt. Beim Erstellen des Setups werden jedoch 3 Fehler wie folgt angezeigt:

FEHLER: Um "Voraussetzungen vom selben Speicherort wie meine Anwendung herunterladen" im Dialogfeld "Voraussetzungen" zu aktivieren, müssen Sie die Datei "DotNetFX461\NDP461-KB3102436-x86-x64-AllOS-DEU.exe" für den Artikel "Microsoft .NET Framework 4.6" herunterladen .1 (x86 und x64) 'an Ihren lokalen Rechner. Weitere Informationen finden Sie unter http://go.Microsoft.com/fwlink/?LinkId=616018 .

Der enthaltene Link hilft nicht wirklich, da er sich auf ClickOnce-Installationen bezieht. Ich habedas erwähnte NDP461 exe, weiß aber nicht, wo ich es hinstellen soll. Ich sehe einige andere Fragen, die das Erstellen eines Bootstrapper-Pakets mit dem MS Bootstrapper Package Manager betreffen, aber dieses scheint mit dem Schließen von MS aus dem Internet verschwunden zu sein of code.msdn.Microsoft, mit anscheinend keine Informationen zu einem Ersatz Darüber hinaus beziehen sich die meisten Dokumentationen und SO Fragen, die ich zu diesem Thema finden kann, auf ältere Versionen von MSVS und korrelieren nicht (zumindest nicht direkt genug für mich, um herauszufinden!) zu MSVS 2017.

Wie bekomme ich das Setup-Projekt, um das Exe zu finden? Muss ich es einfach an der richtigen Stelle ploppen (haben bereits einige versucht, die auf verschiedenen MSDN-Seiten und unter Registrierungsschlüsseln aufgeführt wurden)? Oder muss ich ein Bootstrapper-Paket erstellen? Wenn letztere irgendwo aktuell dokumentiert ist? Vielen Dank!

PS: Wäre der Prozess einfacher, wenn ich stattdessen das (neuere) .Net-Framework verwendet, das bereits auf meiner Entwicklungsmaschine installiert ist? (Ich vermute, dass irgendwo auf der Maschine bereits Installationsinformationen vorhanden sind.)

Update Also habe ich versucht, stattdessen auf .NET 4.6 zu wechseln, NDP46-KB3045557-x86-x64-AllOS-DEU.exe herunterzuladen und in das Verzeichnis C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX46 zu stellen. Das Installationsprogramm für das Installationsprogramm wird jetzt erstellt, gibt jedoch die folgende Warnung aus (wiederum drei davon):

WARNUNG: Der Wert des Attributs "PublicKey" in "Microsoft .NET Framework 4.6 (x86 und x64)" stimmt nicht mit dem der Datei "C:\Programme (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX46\NDP46" überein -KB3045557-x86-x64-AllOS-DEU.exe ".

Ich denke, das heißt, ich bin nichtsoll es so machen?

8
Toby

Laden Sie einfach NDP461-KB3102436-x86-x64-AllOS-DEU.exe Datei aus Diese Verknüpfung

und kopieren Sie sie in C:\Programme (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX461

14

Für Microsoft Visual Studio 2017 der richtige Ordner zum Hinzufügen der Bootstrapper-Pakete ist:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\

Links zu den verschiedenen verteilbaren .NET-Paketen sowie Informationen zu den verschiedenen Bereitstellungsoptionen finden Sie hier: https://docs.Microsoft.com/de-de/dotnet/framework/Deployment/Deployment-Guide für Entwickler

Die Fehlernachrichten geben Ihnen die richtigen Ordner an, die Sie dem Paketordner hinzufügen möchten. Daher sollte die Datei NDP46-KB3045557-x86-x64-AllOS-ENU.exe zu einem Ordner "DotNetFX46" unter Packages hinzugefügt werden.

Ich verstehe wirklich nicht, warum Microsoft nicht die Schritte unternommen hat, um dies zu einem automatisierten Prozess zu machen oder zumindest eine schrittweise Anleitung zum Hinzufügen der Bootstrap-Pakete zu verschiedenen Versionen in Visual Studio bereitzustellen. Das Verfahren und die Ordner haben sich im Laufe der Jahre mehrmals geändert.

Der Missverständnis mit dem öffentlichen Schlüssel ist höchstwahrscheinlich auf die Tatsache zurückzuführen, dass mindestens zwei Versionen der Datei NDP46-KB3045557-x86-x64-AllOS-ENU.exe mit demselben Dateinamen, aber unterschiedlichen öffentlichen Schlüsseln verteilt wurden. Überprüfen Sie diesen Link: https://connect.Microsoft.com/VisualStudio/feedback/details/1584164/bootstrapper-packages-have-broken-links-and-wrong-public-keys

2
prudentcoder

Für mich (VS2017 Enterprise) lautet der korrekte Pfad (für 4.7.1) C:\Programme (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX471

hoffe das wird helfen

Benoist LUGNIER

2
Benoist LUGNIER

Ein paar Jahre zu spät, aber ich habe eine Antwort gefunden, die für mich in VS2017 funktioniert hat.

Der Registrierungsschlüssel "HKLM\SOFTWARE\Wow6432Node\Microsoft\GenericBootstrapper" enthält einen "Path" -Schlüssel, der den Pfad zu den Bootstrapper-Dateien anzeigt. Für mich war es das Folgende:

C:\Programme (x86)\Microsoft SDKs\ClickOnce Bootstrapper \

Ich habe diesen Pfad überprüft, und es gab tatsächlich ein "Packages\DotNetFX461" -Verzeichnis, das jedoch nicht die Datei NDP461 ... ENU.exe enthielt. Ich habe gerade die Datei dort kopiert und alles hat funktioniert.

0
Bob C