Ermitteln, ob Visual C ++ Redistributable für Visual Studio 2012 installiert ist
Wie zu erkennen, wenn Visual C++ Redistributable für Visual Studio 2012 installiert ist?
Ich habe versucht, Google es und niemand hat diese Frage gestellt, überraschung!
InformationsquelleAutor der Frage sean717 | 2012-08-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es hängt davon ab, welche version Sie verwenden. Diese zwei 2012-Tasten haben gut für mich gearbeitet mit Ihren entsprechenden Versionen zum download für das Update 4. Bitte beachten Sie, dass einige dieser reg Orten kann es sein, OS-abhängig. Ich habe diese info von einem Windows 10 x64 box. Ich werde einfach gehen Sie vor und werfen alle diese redist Versionen und die reg-Schlüssel ich suchen um zu erkennen, installation.:
Visual C++ 2005
Direkte Download-URL: https://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x64.EXE
Direkte Download-URL: https://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x86.EXE
Visual C++ 2008
Direkte Download-URL: https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x64.exe
Direkte Download-URL: https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe
Visual C++ 2010
Direkte Download-URL: https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x64.exe
Direkte Download-URL: https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe
Visual C++ 2012
Direkte Download-URL: https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe
Direkte Download-URL: https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe
Visual C++ 2013
Direkte Download-URL: https://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe
Direkte Download-URL: https://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x86.exe
Visual C++ 2015
Direkte Download-URL: https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x64.exe
Direkte Download-URL: https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x86.exe
Visual C++ 2017
VORBEHALT: Es gibt entweder ein neues 2017 Registrierungs-übereinkommen verwendet wird, oder es noch nicht fertiggestellt, noch nicht. Da ich vermute, dass die oberen-die meisten Tasten:
[HKEY_CLASSES_ROOT\Installer\Dependencies\,,amd64,14.0,bundle]
und
[HKEY_CLASSES_ROOT\Installer\Dependencies\,,x86,14.0,bundle]
vorbehalten sind, oder zumindest über die verschiedenen verschachtelten GUIDs, ich werde Liste der Schlüssel, die enden mit einer GUID.
Direkte Download-URL: https://download.visualstudio.microsoft.com/download/pr/12192820/2cd2dba5748dc95950a5c42c2d2d78e4/VC_redist.x64.exe
Direkte Download-URL: https://download.visualstudio.microsoft.com/download/pr/12192785/88b50ce70017bf10f2d56d60fcba6ab1/VC_redist.x86.exe
Changelog:
16. Mai, 2018 -- Aktualisiert 2017 die version für 14.14.26405.0 als der neue C++ - 2017 Eintrag
8. September 2017 -- Aktualisiert 2017 die version für 14.11.25325.0 wie das neue Visual C++ - 2017 Eintrag
7. April 2017 -- Aktualisiert 2017 die version von 14.10.25008.0 wie das neue Visual C++ - 2017 Eintrag
24. Oktober 2016 -- Aktualisiert 2015 version-info für 14.0.24215.1
18. August, 2016 -- Aktualisiert 2015 version-info für 14.0.24212
Mai 27, 2016 -- Aktualisiert info für MSVC2015 Update 2
Bitte Kontaktieren Sie mich hier, wenn diese veraltet.
InformationsquelleAutor der Antwort kayleeFrye_onDeck
Versuchen
als Ausgangspunkt. Ich werde dies als ein Häkchen für die Installation der VC++ 11 (VS 2012) Laufzeit.
InformationsquelleAutor der Antwort Dave Dawkins
Können Sie die
Installed
Wert1
in diesem Registrierungsschlüssel:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\11.0\VC\Runtimes\x86
auf 64-bit-Systeme. Im code führen würden, Zugriff auf RegistrierungsschlüsselHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\VC\Runtimes\x86
. Beachten Sie die Abwesenheit vonWow6432Node
.Auf einem 32-bit-system die Registrierung ist die gleiche, ohne
Wow6432Node
:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\VC\Runtimes\x86
InformationsquelleAutor der Antwort Mike de Klerk
Gibt es keine installcheck element in der bootstrapper-Pakets manifestieren, die im Lieferumfang von Visual C++. Denke, Microsoft will immer installieren, wenn Sie es als eine Voraussetzung.
Natürlich können Sie immer noch rufen MsiQueryProductState um zu überprüfen, ob die VC redist package installiert ist via MSI Paket code kann gefunden werden durch die Ausführung
Befehlszeile an, oder wenn Sie bereits an wmic:root\cli führen Sie
InformationsquelleAutor der Antwort Sheng Jiang 蒋晟
Seit Visual Studio 2010 und später aufgehört, WinSxS, kann es genug, um einfach überprüfen %windir%\system32\msvcr110.dll. Wenn Sie überprüfen wollen, haben Sie genug neue version können Sie überprüfen, ob die version der Datei ist 11.0.50727.1 (VS2012 RTM) oder 11.0.51106.1 (VS2012 Update 1).
InformationsquelleAutor der Antwort BCran
Die Antwort auf diese einfachen Fragen ist leider nicht einfach, aber die Arbeit in 100% aller Systeme, und sogar erweiterbar um die zahlreichen .net frameworks.
Die Komplexität kommt von der Tatsache, dass es gibt (und gab) viele VC runtimes Revisionen, die dazu führen könnte das der Fall, obwohl VC10 runtimes installiert wurden, Ihre build-Nummer war nicht aktuell genug, so dass Ihre EXE-Datei ließ sich nicht starten, es sei denn, Sie entweder installiert der sehr genauen Laufzeiten, die Sie forderten oder eines der neueren Laufzeitumgebungen, die es ermöglichen, diese und die vorherigen Versionen der gleichen major-version ausgeführt werden (side-by-side-Hölle).
Auch, wenn Sie eine 64-bit-EXE, die Sie haben zu prüfen, sowohl für die 32-UND 64-bit-Laufzeiten.
Sagte, die einzige zuverlässige Möglichkeit, um festzustellen, ob die Laufzeiten für Ihre EXE installiert sind ist der Versuch zum ausführen der EXE - - oder einer anderen EXE, die gebaut, mit den gleichen Einstellungen wie bei der Haupt-EXE und deren einziger Zweck es ist, das zu tun - nichts. Führen Sie einfach (was bedeutet, dass die runtimes installiert sind) oder nicht ausgeführt werden (wenn nicht installiert).
Habe ich im folgenden ein installer erforderlich, der VC10 32-und 64-bit runtimes installiert haben: Das Installationsprogramm versucht, alle starten dummy-EXE und wenn es gelingt, die entsprechende Laufzeit wird als installiert. Dies behebt auch die 32/64-bit-Szenario.
Dies ist, nebenbei, auch um festzustellen, ob die richtige .net framework ist installiert, das ist sehr schwierig in Windows 8 und 10, wie die herunterladbare eingebaut .net 3.5 unterstützt auch unterstützt .net-Versionen 3.0 und 2.0 - es gibt keine registry-Einträge für diese.
(Und noch schlimmer, Sie können nicht selbst verwenden Sie die standard-framework-Installateure hier, Sie muss verwenden der built-in-Unterstützung und laden Sie es über Windows oder bauen Sie Ihre app mit .net 4, aber das ist eine andere Geschichte).
C++ dummy-EXE gebaut werden kann, über ein Projekt mit dem folgenden code (und noch eins in einer 64-bit-Konfiguration, wenn nötig):
Denken Sie daran, die Eigenschaften des Projekts Verwendung von MFC zu Verwenden MFC in einer freigegebenen DLL.
Die ausführbaren Dateien werden etwa 4KB Größe - ein kleiner Preis für ein Sicheres Ergebnis.
Geben Sie Ihre Benutzer eine nette installation, könnten Sie Folgendes tun (Beispiel-code ist für NSI):
und nennen es in einer Funktion, z.B. CheckRuntimes
Dann starten Sie die runtime-check, z.B. beim verlassen des Willkommen Seite und cache das Ergebnis, so dass Sie nicht haben, um re-check jedes mal, wenn der Benutzer klickt auf "Zurück" und "Weiter" - button.
Anschließend machen Sie eine nur-lese-Abschnitt in den install-Baum und pre-aktivieren oder deaktivieren Sie auf dem Sie eine Funktion, die ausgeführt wird, bevor die Komponenten Seite angezeigt.
Dadurch wird sichergestellt, dass die installation jedes fehlende runtime-Komponente ist zwingend erforderlich und wird übersprungen, wenn es bereits vorhanden ist.
InformationsquelleAutor der Antwort Michael
Für mich an diesem Standort gearbeitet:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\vc\Servicing\11.0\RuntimeMinimum\Version
Überprüfen Sie, welche version Sie haben, nachdem Sie das Paket installiert wurde und diese als Bedingung in den installer. (bei mir ist eingestellt 11.0.50727 nach der Installation VCred).
InformationsquelleAutor der Antwort attila
InformationsquelleAutor der Antwort Al.Pertro
Geh einfach in die Systemsteuerung > Programme und Funktionen, und Sie alle werden dort aufgeführt.
Ich bin kein Experte, und diese Antwort ist ziemlich einfach im Vergleich zu dem, was Menschen sind Anrufbeantworter (überprüfung der registry), also ich bin mir nicht sicher, ob es die korrekte Antwort, aber es hat den trick für mich.
InformationsquelleAutor der Antwort Adrian Pauly
Habe ich es dadurch mit InnoSetup.
Überprüfte ich die Existenz von registry key:
HKLM\SOFTWARE\Microsoft\VisualStudio\11.0\VC\Runtimes
Deinstalliert, wenn es nicht vorhanden ist. Wenn installiert, es existiert.
Übrigens, es könnte auch in der Wow6432Node:
HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\11.0\VC\Runtimes
InformationsquelleAutor der Antwort Fandi Susanto
Überprüfen des Status installieren für Sie das Produkt über MsiQueryProductState ist so ziemlich äquivalent zur überprüfung, direkt in der registry, aber Sie müssen noch die GUID für die ProductCode.
Wie an anderer Stelle erwähnt, ein Nachteil bei diesen Ansätzen ist, dass jedes update hat seine eigenen ProductCode!
Dankbar, MSI bietet ein UpgradeCode identifiziert, die eine "Familie" von Produkten. Sie können verwenden Sie orca, um öffnen Sie eine der MSI-Dateien, diese Informationen zu extrahieren. Zum Beispiel, die UpgradeCode für VS2015 s redistributable ist
{65E5BD06-6392-3027-8C26-853107D3CF1A}
Können Sie MsiEnumRelatedProductsum alle Produkt-IDs für die UpgradeCode. In der Praxis, da jeder redist-update ersetzt die Vorherige, diese liefert nur einen ProductCode - wie
{B5FC62F5-A367-37A5-9FD2-A6E137C0096F}
für VS2015 Update 2 x86.Unabhängig, Sie können dann überprüfen Sie die version über MsiGetProductInfo(productCode, INSTALLPROPERTY_VERSIONSTRING, ...) oder ähnlichen Funktionen zu vergleichen mit der version, die Sie möchten, zB um zu überprüfen, der für eine gleichwertige oder höhere version.
Beachten Sie, dass innerhalb einer C++ - Anwendung, können Sie auch
_VC_CRT_MAJOR_VERSION
_VC_CRT_MINOR_VERSION
_VC_CRT_BUILD_VERSION
wenn Sie#include <crtversion.h>
-- auf diese Weise können Sie bestimmen, berechnen Sie die CRT-version, dass Ihre binäre gebaut wurde.InformationsquelleAutor der Antwort adzm
Dieser PowerShell-code sollte den trick tun
InformationsquelleAutor der Antwort Ernie C
Ich brauchte, die gleiche Sache, und zwar, soweit ich weiß dies nicht geschehen kann, programmatisch, es funktionierte für mich.
Ging ich einfach auf Start --> Deinstallieren ein Programm, und nach unten gescrollt, bis ich die VC++ redistributable, die enthält eine Versionsnummer. Googeln Sie die Nummer der version, erzählte mir, es gehört zu VS2012 SP1.
InformationsquelleAutor der Antwort bavaza
Alte Frage, aber hier ist der Ansatz, den wir verwendet haben seit Visual Studio 2005 mit Erfolg. Habe es gerade getestet mit Visual Studio 2012 Update 4 (da wir endlich die Aktualisierung unserer software von 2010 bis 2012).
Da die Visual C++ Redistributable packages registrieren Sie Ihre uninstaller mit windows (so zeigt es sich in der Systemsteuerung unter "Programme und Funktionen" - Liste), prüfen wir einfach, das für die Darstellung der uninstaller Schlüssel in der registry.
Hier ist der entsprechende NSIS-code:
Beachten Sie, dass seit unserer installer ist ein 32-bit-exe -, windows-handles ermitteln, ob der registry-Schlüssel ist tatsächlich in der virtualisierten Wow6432Node anstelle der oben genannten Ort, damit der obige code funktioniert auf 64bit und 32bit windows installiert, ohne vorher zu prüfen beide Schlüssel explizit.
Beachten Sie auch, dass ein update der oben genannten code, um eine andere version der VC++ Redist, ändern Sie einfach die GUID in die registry-Schlüssel (Pfad und den Namen anzeigen, was Sie brauchen.
Während dies nicht die empfohlene Methode, Es hat an über 10.000 Maschinen, die in den vergangenen 10 Jahren laufen alle Versionen von windows von XP/XP64 Durch Windows 10 mit redists für 2005, 2010, 2010sp1, und jetzt 2012u4.
InformationsquelleAutor der Antwort kinar
Ich würde prüfen, ob die
Installed
Wert vonHKLM\SOFTWARE\[WOW6432Node]\Microsoft\Windows\CurrentVersion\Uninstall\{VCRedist_GUID}
SchlüsselVC++ 2012 (x86)
ist{33d1fd90-4274-48a1-9bc1-97e33d9c2d6f}
WOW6432Node
anwesend sein wird oder nicht, je nach derVC++ redist
ProduktInformationsquelleAutor der Antwort Learner
Stieß ich auf diese Frage eine Antwort suchen im Rahmen der überprüfung der für die Visual C++ redistributable als Teil eines MSI-Installationsprogramms erstellt von WiX.
Ich wusste nicht, wie Sie die GUID ändern, die mit der version und Betriebssystem, so dass ich am Ende die Schaffung einer benutzerdefinierten Aktion in C# geschrieben, für die Visual C++ redistributable.
Alles, was unten ist speziell für Visual C++ 2015 Redistributable (x64), aber es kann leicht geändert werden, für jede version.
Dann in die wxs-Datei
InformationsquelleAutor der Antwort TJ Rockefeller
Was die meisten Leute miss ist das erforderliche
/reg:32
zu prüfen, den Schlüssel auf Windows x64.Sehen Microsoft-Hilfe-Artikel zu diesem Thema.
Hier ist ein Skript, das zeigt, wie richtig prüfen für Visual C++ Redistributable für Visual Studio 2012 Update 4.
InformationsquelleAutor der Antwort war59312
können Sie die Suche in der registry.Eigentlich habe ich do ' NT haben, vs2012, aber ich habe vs2010.
Gibt es 3 verschiedene (aber sehr ähnliche) registry-Schlüssel für jede der 3-Plattform-Pakete. Jeder Schlüssel einen DWORD-Wert namens "Installed" mit dem Wert 1.
HKLM\SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86
HKLM\SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x64
HKLM\SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\ia64
Können Sie verwenden Sie den Registrierungs-Funktion für das......
InformationsquelleAutor der Antwort vikky