Verteilen von Visual C++-Dateien

Hinweis

Möchten Sie eine der Visual C++-Runtimedateien herunterladen? Navigieren Sie zur Seite mit den neuesten unterstützten Visual C++ Redistributable-Downloads.

Redistributable-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 dazu berechtigt sind, sie weiterzuvertreiben. Einen Link zu den Visual Studio-Lizenzbedingungen finden Sie in der IDE. Verwenden Sie den Link „Lizenzbedingungen“ im Dialogfeld „Info zu Microsoft Visual Studio“, oder laden Sie die relevanten Endbenutzer-Lizenzverträge und Lizenzen aus dem Visual Studio-Lizenzverzeichnis herunter.

Wenn Sie die REDIST-Liste anzeigen möchten, auf die im Abschnitt „Verteilbarer Code“ der Microsoft Software-Lizenzbedingungen für Visual Studio 2022 verwiesen wird, navigieren Sie zu Verteilbare Codedateien für Visual Studio 2022.

Wenn Sie die REDIST-Liste anzeigen möchten, auf die im Abschnitt „Verteilbarer Code“ der Microsoft Software-Lizenzbedingungen für Visual Studio 2019 verwiesen wird, navigieren Sie zu Verteilbare Codedateien für Visual Studio 2019.

Wenn Sie die REDIST-Liste anzeigen möchten, auf die im Abschnitt „Verteilbarer Code“ der Microsoft Software-Lizenzbedingungen für Visual Studio 2017 verwiesen wird, navigieren Sie zu Verteilbare Codedateien für Visual Studio 2017.

Wenn Sie die REDIST-Liste anzeigen möchten, auf die im Abschnitt „Verteilbarer Code“ der Microsoft Software-Lizenzbedingungen für Visual Studio 2015 verwiesen wird, navigieren Sie zu Verteilbare Codedateien für Visual Studio 2015.

Weitere Informationen zu Redistributable-Dateien finden Sie unter Ermitteln der zu verteilenden DLLs sowie unter Bereitstellungsbeispiele.

Finden der Redistributable-Dateien

Um Redistributable-Dateien bereitzustellen, können Sie die von Visual Studio installierten Redistributables verwenden. Seit Visual Studio 2017 heißen diese Dateien vc_redist.arm64.exe, vc_redist.x64.exe und vc_redist.x86.exe. In Visual Studio 2015, 2017 und 2019 sind sie auch unter den Namen vcredist_x86.exe, vcredist_x64.exe und (nur 2015) vcredist_arm.exe verfügbar.

Am einfachsten finden Sie die Redistributable-Dateien durch Festlegen von Umgebungsvariablen in einer Developer-Eingabeaufforderung. In Visual Studio 2022 befinden sich die Redistributable-Dateien im Ordner %VCINSTALLDIR%Redist\MSVC\v143. In der neuesten Version von Visual Studio 2019 finden Sie die Redistributable-Dateien im Ordner %VCINSTALLDIR%Redist\MSVC\v142. In Visual Studio 2017 und in Visual Studio 2019 befinden sie sich auch unter %VCToolsRedistDir%. In Visual Studio 2015 befinden sich diese Dateien unter %VCINSTALLDIR%redist\<locale>, wobei <locale> das Gebietsschema der Redistributables ist.

In Visual Studio 2022 und 2019 sind MSM-Dateien Teil einer optionalen installierbaren Komponente mit dem Namen 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 Redistributable-Mergemodule unter %VCINSTALLDIR%Redist\MSVC\v143\MergeModules. In der neuesten Version von Visual Studio 2019 befinden sich die Redistributable-Mergemodule unter %VCINSTALLDIR%Redist\MSVC\v142\MergeModules. In Visual Studio 2019 und in Visual Studio 2017 befinden sie sich auch unter %VCToolsRedistDir%MergeModules. In Visual Studio 2015 befinden sie sich unter Program Files [(x86)]\Common Files\Merge Modules.

Installieren der Redistributables

Die weiterverteilbaren Visual C++-Pakete installieren und registrieren alle Visual C++-Bibliotheken. Wenn Sie eines verwenden, führen Sie es als erforderliche Komponente 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 überprüft, ob auf dem Computer eine neuere Version vorhanden ist. Wird eine neuere Version gefunden, wird das Paket nicht installiert. Ab Visual Studio 2015 zeigen Redistributables eine Fehlermeldung mit dem Hinweis an, dass bei der Einrichtung ein Fehler aufgetreten ist. Wenn ein Paket mit dem Flag /quiet 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. Ab Visual Studio 2015 kann dieser Fehler vermieden werden, indem Sie anhand der Registrierung überprüfen, ob eine neuere Version installiert ist. Die aktuell installierte Versionsnummer ist im Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|arm64} gespeichert. Die Versionsnummer lautet 14.0 für Visual Studio 2015, 2017, 2019 und 2022, da das neueste Redistributable binär mit früheren Versionen bis 2015 kompatibel ist. Der Schlüssel ist arm64, x86 oder x64. Dies ist abhängig von den installierten vcredist-Versionen für die Plattform. (Der Unterschlüssel Wow6432Node muss nur überprüft werden, wenn Sie den Registrierungs-Editor verwenden, um die Version des installierten x86-Pakets auf einer x64-Plattform anzuzeigen.) Die Versionsnummer ist im REG_SZ-Zeichenfolgenwert Version und auch in der Gruppe von REG_DWORD-Werten vom Typ Major, Minor, Bld und Rbld gespeichert. Sie können einen Fehler zur Installationszeit vermeiden, indem Sie die Installation des Redistributables überspringen, wenn die derzeit installierte Version neuer ist.

Befehlszeilenoptionen für die Redistributables

Visual C++ Redistributable unterstützt einige Befehlszeilenoptionen. Die Optionen /?, /h und /help zeigen ein Popupdialogfeld mit den verfügbaren Optionen an. Sie können /install, /repair oder /uninstall angeben, um das Redistributable zu installieren, zu reparieren oder zu deinstallieren. Die Option /layout kopiert den vollständigen Inhalt des Redistributable im aktuellen Verzeichnis. Standardmäßig installiert das Redistributable seine Inhalte und fordert vom Benutzer Informationen an (einschließlich der Angabe, ob nach der Installation neu gestartet werden soll). Sie können die Option /passive angeben. Dadurch wird der Status angezeigt, aber ansonsten keine Benutzerinteraktion benötigt. Sie können auch eine Option vom Typ /quiet angeben. Diese sorgt dafür, dass keine Benutzeroberfläche angezeigt wird und keine Benutzerinteraktion erforderlich ist. Mit der Option /norestart werden alle Neustartversuche unterdrückt. Standardmäßig wird eine Protokolldatei unter %TEMP% erstellt. Mit /log filename.txt können Sie eine bestimmte Datei für die Protokollierung angeben.

Der folgende Beispielbefehl installiert das x64-Redistributable. Er zeigt den Installationsstatus an, erfordert jedoch keine Benutzerinteraktion und keinen Neustart:

vc_redist.x64.exe /install /passive /norestart

Installieren der Redistributable-Mergemodule

Wichtig

Mergemodule (Dateien vom Typ .msm) 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 empfohlen. Die zentrale Bereitstellung durch ein Redistributable ermöglicht es Microsoft, Runtime-Bibliotheksdateien unabhängig voneinander zu warten. Zudem kann sich eine Deinstallation Ihrer App sich nicht auf andere Anwendungen auswirken, die ebenfalls die zentrale Bereitstellung verwenden. Wenn Sie ein Redistributable für die zentrale Bereitstellung verwenden, müssen Sie sich nicht um die Nachverfolgung und Wartung der Runtimebibliotheken kümmern. Andernfalls müssen Sie im Falle einer Aktualisierung Ihrer Runtime-Bibliotheksdateien Ihr .msi-Installationsprogramm aktualisieren und erneut bereitstellen. Bis dahin ist Ihre App unter Umständen anfällig für Fehler oder Sicherheitsprobleme.

Redistributable-Mergemodule müssen in das Windows Installer-Paket (oder in ein ähnliches Installationspaket) eingeschlossen werden, das Sie zum Bereitstellen Ihrer Anwendung verwenden. Weitere Informationen finden Sie unter Verteilen mit Mergemodulen. Ein Beispiel finden Sie unter Exemplarische Vorgehensweise: Bereitstellen einer Visual C++-Anwendung mithilfe eines Setup-Projekts.

Installieren einzelner Redistributable-Dateien

Es ist auch möglich, die Redistributable-DLLs direkt im lokalen Ordner der Anwendung zu installieren. Der lokale Anwendungsordner ist der Ordner, der Ihre ausführbare Anwendungsdatei enthält. Aus Wartungsgründen wird von der Verwendung dieses Installationsorts abgeraten.

Potenzielle Laufzeitfehler

Wenn Windows keine der für Ihre Anwendung erforderlichen Redistributable-Bibliotheks-DLLs finden kann, wird unter Umständen eine Meldung wie die folgende angezeigt: „Diese Anwendung konnte nicht gestartet werden, da Bibliothek.dll nicht gefunden wurde. Installieren Sie die Anwendung neu, um das Problem zu beheben.“

Stellen Sie zur Behebung dieser Art von Fehler sicher, dass das Anwendungsinstallationsprogramm ordnungsgemäß erstellt wird. Vergewissern Sie sich, dass die Redistributable-Bibliotheken ordnungsgemäß im Zielsystem bereitgestellt werden. Weitere Informationen finden Sie unter Grundlegendes zu den Abhängigkeiten einer Visual C++-Anwendung.

Verteilen mit Mergemodulen
Beschreibt die Verwendung von Visual C++ Redistributable-Mergemodulen zum Installieren der Visual C++-Runtimebibliotheken als freigegebene DLLs im Ordner %windir%\system32\.

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

Neuverteilen 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. Ab Visual Studio 2012 ist keine ATL-Bibliothek mehr 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.