Ich habe kürzlich vs2012
installiert und ich habe meine ClickOnce-Anwendung aktualisiert. Um genau zu sein, das erste Mal, dass ich meine C++ project
geöffnet habe (auf der hängt mein primäres C# -Projekt) Ich habe es nicht aktualisiert und alles hat gut funktioniert. VS 2012
konnte weiterhin die Visual C++ 2010-Voraussetzung erkennen. Später habe ich mein Projekt aktualisiert, indem ich das Platform Toolset auf "Visual Studio 2012 (v110)"
unter Properties->Configuration Properties->General
änderte.Fehlende Voraussetzungen für Visual C++ in Visual Studio 2012
In der Zwischenzeit habe ich sogar andere software
installiert und jetzt habe ich festgestellt, dass ich nicht mehr die Visual C++ - Voraussetzung für das ClickOnce-Publishing zu meinem Projekt hinzufügen kann. Die Visual C++ 2010 Runtime Libraries (x64)
Voraussetzung ist mit einem gelben Dreieck markiert und es fehlt. Im Idealfall möchte ich auf Visual C++ 2012 Runtime Libraries x64 (and x86)
aktualisieren, aber selbst diese Voraussetzung fehlt.
Ich denke, es ist aufgrund der Tatsache, dass in dem Ordner C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages
das entsprechende Paket (vcredist_x64)
ist leer. Ich habe auch bemerkt, dass in der Liste der installierten Programme in der Systemsteuerung ich Microsoft Visual C++ 2010 x64
und x86
installiert hatte, sowohl die Redistributable-Version und die Runtime-Version (ich denke, sie wurden zuvor mit Visual Studio 2010 installiert), während ich das Visual fehlte C++ 2012 Dateien. Daher argumentiere ich, dass Visual C++ 2012 nicht mit Visual Studio 2012 zusammen gekommen ist, oder? Ich habe sogar versucht, die Visual C++ 2012 Redistributable x64 Pakete zu installieren, indem Sie sie herunterladen, und jetzt sind sie in meinen installierten Programmen 8nur die Redistributable, nicht die Runtime-Version aufgelistet).
Die Voraussetzung fehlt jedoch noch. Wie kann ich das lösen? Ich habe sogar darüber nachgedacht, manuell das Bootstrapper-Paket für Visual C++ 2010 im Ordner ... \v7.0A\Bootstrapper\Packages
zu kopieren und es manuell für C++ 2012 zu ändern, aber ich weiß nicht, was ich in product.xml
unter <MsiProductCheck Property="VCRedistInstalled" Product=?>
schreiben sollte. Es scheint, dass die Produkt-GUID zum Einfügen dieser Informationen mit Bootstrapper Manager erhalten werden kann, aber dieses Programm wirft eine Menge Ausnahme und ich weiß nicht, wie es geht. Als eine zweite Lösung ist es sicher, das Paket für Visual C++ 2010 von \\v7.0A\Bootstrapper\Packages\Bootstrapper\Packages to \v8.0A\Bootstrapper\Packages
einfach zu kopieren?
Dank ist, wie etwa vcredist_x64.exe? – Berezh
Noam's Antwort ist korrekt, außer dass msbuild zwei Kopien der "xml version ..." Zeile nicht mag. Ich entfernte einen und ich konnte msbuild auf einem Skript ausführen, um eine Setup-Datei zu erstellen. –