Verteilen von Visual C++-Dateien

Hinweis

Sind Sie hier, weil Sie nach einem Download einer der Visual C++-Runtime-Dateien suchen? Wechseln Sie zur Seite Neueste unterstützte Visual C++ Redistributable Downloads.

Verteilbare Dateien und Lizenzierung

Wenn Sie eine Anwendung bereitstellen, müssen Sie auch die Dateien bereitstellen, die zu ihrer Unterstützung erforderlich sind. Wenn eine dieser Dateien von Microsoft bereitgestellt wird, überprüfen Sie, ob Sie sie weiterverteilen dürfen. Sie finden einen Link zu den Visual Studio-Lizenzbedingungen in der IDE. Verwenden Sie den Link Lizenzbedingungen im Dialogfeld Informationen zu Microsoft Visual Studio. Alternativ können Sie die relevanten EULAs und Lizenzen aus dem Visual Studio-Lizenzverzeichnis herunterladen.

Informationen zum Anzeigen der "REDIST-Liste", auf die im Abschnitt "Verteilbarer Code" der Microsoft-Software-Lizenzbedingungen für Visual Studio 2022 verwiesen wird, finden Sie unter Verteilbare Codedateien für Microsoft Visual Studio 2022.

Informationen zum Anzeigen der "REDIST-Liste", auf die im Abschnitt "Verteilbarer Code" der Microsoft-Softwarelizenzbedingungen für Visual Studio 2019 verwiesen wird, finden Sie unter Verteilbare Codedateien für Microsoft Visual Studio 2019.

Informationen zum Anzeigen der "REDIST-Liste", auf die im Abschnitt "Verteilbarer Code" der Microsoft-Softwarelizenzbedingungen für Visual Studio 2017 verwiesen wird, finden Sie unter Verteilbare Codedateien für Microsoft Visual Studio 2017.

Informationen zum Anzeigen der "REDIST-Liste", auf die im Abschnitt "Verteilbarer Code" der Microsoft-Softwarelizenzbedingungen für Visual Studio 2015 verwiesen wird, finden Sie unter Verteilbare Codedateien für Microsoft Visual Studio 2015.

Weitere Informationen zu verteilbaren Dateien finden Sie unter Ermitteln der zu verteilenden DLLs und Bereitstellungsbeispiele.

Suchen der verteilbaren Dateien

Um verteilbare Dateien bereitzustellen, können Sie die von Visual Studio installierten verteilbaren Pakete verwenden. In Versionen von Visual Studio seit 2017 heißen vc_redist.arm64.exediese Dateien , vc_redist.x64.exeund vc_redist.x86.exe. In Visual Studio 2015, 2017 und 2019 sind sie auch unter den Namen vcredist_x86.exe, vcredist_x64.exeund (nur 2015) vcredist_arm.exeverfügbar.

Die einfachste Möglichkeit, die verteilbaren Dateien zu finden, ist die Verwendung von Umgebungsvariablen, die in einer Entwicklereingabeaufforderung festgelegt sind. In Visual Studio 2022 befinden sich die verteilbaren Dateien im %VCINSTALLDIR%Redist\MSVC\v143 Ordner. In der neuesten Version von Visual Studio 2019 finden Sie die verteilbaren Dateien im %VCINSTALLDIR%Redist\MSVC\v142 Ordner. Sowohl in Visual Studio 2017 als auch in Visual Studio 2019 finden Sie sie auch in %VCToolsRedistDir%. In Visual Studio 2015 finden Sie diese Dateien in %VCINSTALLDIR%redist\<locale>, wobei <locale> das Gebietsschema der verteilbaren Pakete ist.

In Visual Studio 2022 und 2019 sind Mergemoduldateien Teil einer optional installierbaren Komponente namens C++-<Version> Redistributable MSMs im Visual Studio-Installer. Die Mergemodule werden standardmäßig als Teil einer C++-Installation in Visual Studio 2017 und Visual Studio 2015 installiert. Wenn Sie in Visual Studio 2022 installiert sind, finden Sie die verteilbaren Mergemodule in %VCINSTALLDIR%Redist\MSVC\v143\MergeModules. In der neuesten Version von Visual Studio 2019 befinden sich die verteilbaren Mergemodule in %VCINSTALLDIR%Redist\MSVC\v142\MergeModules. In Visual Studio 2019 und Visual Studio 2017 befinden sie sich auch in %VCToolsRedistDir%MergeModules. In Visual Studio 2015 befinden sie sich in Program Files [(x86)]\Common Files\Merge Modules.

Installieren der verteilbaren Pakete

Die weiterverteilbaren Visual C++-Pakete installieren und registrieren alle Visual C++-Bibliotheken. Wenn Sie eine verwenden, führen Sie sie als Voraussetzung auf dem Zielsystem aus, bevor Sie Ihre Anwendung installieren. Es wird empfohlen, dass Sie diese Pakete für die Bereitstellungen verwenden, da Sie die automatische Aktualisierung von Visual C++-Bibliotheken ermöglichen. Ein Beispiel zur Verwendung dieser Pakete finden Sie unter Exemplarische Vorgehensweise: Bereitstellen einer Visual C++-Anwendung mithilfe von Visual C++ Redistributable Package.

Jedes Visual C++ Redistributable Paket überprüft, ob eine neuere Version auf dem Computer vorhanden ist. Wenn eine neuere Version gefunden wird, wird das Paket nicht installiert. In Visual Studio 2015 oder höher zeigen Redistributable-Pakete eine Fehlermeldung an, die besagt, dass das Setup fehlgeschlagen ist. Wenn ein Paket mit dem /quiet Flag ausgeführt wird, wird keine Fehlermeldung angezeigt. In beiden Fällen wird ein Fehler im Microsoft Installer protokolliert und ein Fehlerergebnis wird an den Aufrufenden zurückgegeben. In Visual Studio 2015 und höher können Sie diesen Fehler vermeiden, indem Sie die Registrierung überprüfen, um festzustellen, ob eine neuere Version installiert ist. Die aktuell installierte Versionsnummer wird im HKEY_LOCAL_MACHINE\SOFTWARE[\Wow6432Node]\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|arm64} Schlüssel gespeichert. Die Versionsnummer ist 14.0 für Visual Studio 2015, 2017, 2019 und 2022, da die neueste Redistributable mit früheren Versionen bis 2015 binär kompatibel ist. Der Schlüssel ist arm64, x86oder x64 abhängig von den installierten vcredist-Versionen für die Plattform. (Sie müssen dies nur unter dem Wow6432Node Unterschlüssel überprüfen, wenn Sie Regedit verwenden, um die Version des installierten x86-Pakets auf einer x64-Plattform anzuzeigen.) Die Versionsnummer wird im REG_SZ Zeichenfolgenwert Version und auch in den Werten Major, Minor, Bldund RbldREG_DWORD gespeichert. Um einen Fehler bei der Installation zu vermeiden, müssen Sie die Installation des Redistributable-Pakets überspringen, wenn die aktuell installierte Version neuer ist.

Befehlszeilenoptionen für die verteilbaren Pakete

Die Visual C++ Redistributable unterstützt mehrere Befehlszeilenoptionen. Die /?Optionen , /hoder /help zeigen ein Popupdialogfeld an, in dem die verfügbaren Optionen aufgelistet sind. Sie können angeben /install , dass redistributable installiert, /repair repariert oder /uninstall deinstalliert werden soll. Die /layout Option kopiert den vollständigen Inhalt von Redistributable in das aktuelle Verzeichnis. Standardmäßig installiert redistributable seinen Inhalt und fordert den Benutzer zur Eingabe von Informationen und dazu auf, ob nach der Installation neu gestartet werden soll. Sie können die Option angeben, die den /passive Fortschritt anzeigt, andernfalls aber keine Benutzerinteraktion erfordert. Sie können auch eine /quiet Option angeben, die keine Benutzeroberfläche anzeigt oder eine Benutzerinteraktion erfordert. Die /norestart Option unterdrückt alle Neustartversuche. Standardmäßig wird in %TEMP%eine Protokolldatei erstellt. Sie können verwenden /log filename.txt , um sich bei einer bestimmten Datei zu protokollieren.

Mit diesem Beispielbefehl wird x64 Redistributable installiert. Der Installationsfortschritt wird angezeigt, erfordert jedoch keine Benutzerinteraktion oder einen Neustart:

vc_redist.x64.exe /install /passive /norestart

Installieren der verteilbaren Mergemodule

Wichtig

Mergemodule (.msm Dateien) für Visual C++ Redistributable Dateien sind veraltet. Es wird nicht empfohlen, sie für die Anwendungsbereitstellung zu verwenden. Stattdessen wird eine zentrale Bereitstellung des Visual C++ Redistributable-Pakets empfohlen. Die zentrale Bereitstellung durch ein Redistributable-Paket ermöglicht es Microsoft, Laufzeitbibliotheksdateien unabhängig zu warten. Außerdem kann sich eine Deinstallation Ihrer App nicht auf andere Anwendungen auswirken, die ebenfalls die zentrale Bereitstellung verwenden. Wenn Sie ein Redistributable-Paket für die zentrale Bereitstellung verwenden, sind Sie nicht für die Nachverfolgung und Verwaltung der Laufzeitbibliotheken verantwortlich. Andernfalls müssen Sie für ein Update der Laufzeitbibliotheksdateien Das .msi Installationsprogramm aktualisieren und erneut bereitstellen. Ihre App kann anfällig für Fehler oder Sicherheitsprobleme sein, bis Sie dies tun.

Verteilbare Mergemodule müssen im Windows Installer-Paket (oder einem ähnlichen Installationspaket) enthalten sein, das Sie zum Bereitstellen Ihrer Anwendung verwenden. Weitere Informationen finden Sie unter Redistributing mithilfe von Mergemodulen. Ein Beispiel finden Sie unter Exemplarische Vorgehensweise: Bereitstellen einer Visual C++-Anwendung mithilfe eines Setupprojekts.

Installieren einzelner verteilbarer Dateien

Es ist auch möglich, die Redistributable-DLLs direkt im lokalen Ordner der Anwendung zu installieren. Der lokale Ordner der Anwendung ist der Ordner, der Ihre ausführbare Anwendungsdatei enthält. Aus Wartungsgründen wird davon abgeraten, diesen Installationsspeicherort zu verwenden.

Potenzielle Laufzeitfehler

Wenn Windows eine der für Ihre Anwendung erforderlichen verteilbaren Bibliotheks-DLLs nicht finden kann, wird möglicherweise eine Meldung ähnlich der folgenden angezeigt: "Diese Anwendung konnte nicht gestartet werden, weil die Bibliothek.dll nicht gefunden wurde. Wenn Sie die Anwendung erneut installieren, kann dieses Problem behoben werden."

Um diese Art von Fehler zu beheben, stellen Sie sicher, dass ihr Anwendungsinstallationsprogramm ordnungsgemäß erstellt wird. Stellen Sie sicher, dass die verteilbaren Bibliotheken ordnungsgemäß auf dem Zielsystem bereitgestellt werden. Weitere Informationen finden Sie unter Grundlegendes zu den Abhängigkeiten einer Visual C++-Anwendung.

Verteilen mithilfe von Mergemodulen
Beschreibt, wie Sie Visual C++ Redistributable Mergemodule verwenden, um die Visual C++-Laufzeitbibliotheken als freigegebene DLLs im %windir%\system32\ Ordner zu installieren.

Neuverteilen von Visual C++ ActiveX-Steuerelementen
Beschreibt, wie eine Anwendung, die ActiveX-Steuerelemente verwendet, verteilt wird.

Verteilen der MFC-Bibliothek
Beschreibt, wie eine Anwendung, die MFC verwendet, verteilt wird.

Neuverteilen von ATL-Anwendungen
Beschreibt, wie eine Anwendung, die ATL verwendet, neu verteilt wird. In Visual Studio 2012 und höher ist keine ATL-Bibliothek erforderlich.

Bereitstellungsbeispiele
Links zu Beispielen, die veranschaulichen, wie Visual C++-Anwendungen bereitgestellt werden.

Deploying Desktop Applications (Bereitstellen von Desktopanwendungen)
Bietet eine Einführung in Visual C++-Bereitstellungskonzepte und -technologien.