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 Downloads von Visual C++ Redistributable ".

Weiterverteilbare 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 diese weiterverwenden dürfen. Sie finden einen Link zu den Visual Studio-Lizenzbedingungen in der IDE. Verwenden Sie den Link "Lizenzbedingungen" im Dialogfeld "Info zu Microsoft Visual Studio". Oder laden Sie die relevanten EULAs und Lizenzen aus dem Visual Studio License Directory herunter.

Informationen zum Anzeigen der "REDIST-Liste", auf die im Abschnitt "Verteilungscode" der Microsoft-Softwarelizenzbedingungen von Visual Studio 2022 verwiesen wird, finden Sie unter "Verteilende Codedateien für Microsoft Visual Studio 2022"

Informationen zum Anzeigen der "REDIST-Liste", auf die im Abschnitt "Verteilungscode" der Microsoft-Softwarelizenzbedingungen von Visual Studio 2019 verwiesen wird, finden Sie unter "Verteilungscodedateien für Microsoft Visual Studio 2019"

Informationen zum Anzeigen der "REDIST-Liste", auf die im Abschnitt "Verteilungscode" der Microsoft-Softwarelizenzbedingungen von Visual Studio 2017 verwiesen wird, finden Sie unter "Distributionable Code Files for Microsoft Visual Studio 2017".

Informationen zum Anzeigen der "REDIST-Liste", auf die im Abschnitt "Verteilungscode" der Microsoft-Softwarelizenzbedingungen von Visual Studio 2015 verwiesen wird, finden Sie unter "Distributionable Code Files for Microsoft Visual Studio 2015".

Weitere Informationen zu weiterverteilbaren Dateien finden Sie unter Ermitteln der Verteiler-DLLs und Bereitstellungsbeispiele.

Suchen der weiterverteilbaren Dateien

Um weiterverteilbare Dateien bereitzustellen, können Sie die von Visual Studio installierten redistributable packages verwenden. In Versionen von Visual Studio seit 2017 werden diese Dateien benannt vc_redist.arm64.exe, 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 weiterverteilbaren Dateien zu finden, ist die Verwendung von Umgebungsvariablen, die in einer Entwickler-Eingabeaufforderung festgelegt sind. In Visual Studio 2022 befinden sich die weiterverteilbaren Dateien im %VCINSTALLDIR%Redist\MSVC\v143 Ordner. In der neuesten Version von Visual Studio 2019 finden Sie die weiterverteilbaren Dateien im %VCINSTALLDIR%Redist\MSVC\v142 Ordner. In Visual Studio 2017 und Visual Studio 2019 befinden sie sich auch in %VCToolsRedistDir%. In Visual Studio 2015 finden Sie diese Dateien in %VCINSTALLDIR%redist\<locale>dem <locale> Gebietsschema der verteilbaren Pakete.

In Visual Studio 2022 und 2019 sind Zusammenführungsmoduldateien Teil einer optionalen installierbaren Komponente namens C++<-Version> Redistributable MSMs im Visual Studio-Installer. Die Zusammenführungsmodule 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 weiterverteilbaren Zusammenführungsmodule in %VCINSTALLDIR%Redist\MSVC\v143\MergeModules. In der neuesten Version von Visual Studio 2019 befinden sich die weiterverteilbaren Zusammenführungsmodule 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 weiterverteilbaren Pakete

Die weiterverteilbaren Visual C++-Pakete installieren und registrieren alle Visual C++-Bibliotheken. Wenn Sie eins verwenden, führen Sie sie als Voraussetzung für das 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 Redistributable-Paket von Visual C++ ü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 mithilfe des /quiet Flags 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 herauszufinden, ob eine neuere Version installiert ist. Die aktuelle 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 binär mit früheren Versionen bis 2015 kompatibel ist. Der Schlüssel ist arm64, oder x86x64 abhängig von den installierten Vcredist-Versionen für die Plattform. (Sie müssen den Wow6432Node Unterschlüssel nur überprüfen, wenn Sie Regedit verwenden, um die Version des installierten x86-Pakets auf einer x64-Plattform anzuzeigen.) Die Versionsnummer wird im Zeichenfolgenwert und auch in REG_SZ der Gruppe von Major, Minor, , Bldund RbldREG_DWORD Werten gespeichert.Version Um einen Fehler bei der Installation zu vermeiden, müssen Sie die Installation des Redistributable-Pakets überspringen, wenn die aktuell installierte Version aktueller ist.

Befehlszeilenoptionen für die Redistributable-Pakete

Visual C++ Redistributable unterstützt mehrere Befehlszeilenoptionen. Im /?Dialogfeld ", /h" oder /help "Optionen" wird ein Popupdialogfeld angezeigt, in dem die verfügbaren Optionen aufgelistet sind. Sie können angeben /install , dass sie installiert, /repair repariert oder /uninstall die Redistributable deinstalliert werden soll. Die /layout Option kopiert den vollständigen Inhalt der Redistributable im aktuellen Verzeichnis. Standardmäßig installiert die Redistributable den Inhalt und fordert den Benutzer auf, Informationen zu geben und ob nach der Installation neu gestartet werden soll. Sie können die /passive Option angeben, die den Fortschritt anzeigt, andernfalls jedoch 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 eine Protokolldatei erstellt in %TEMP%. Sie können die Anmeldung bei einer bestimmten Datei verwenden /log filename.txt .

In diesem Beispielbefehl wird die x64 Redistributable installiert. Er zeigt den Installationsfortschritt an, erfordert jedoch keine Benutzerinteraktion oder einen Neustart:

vc_redist.x64.exe /install /passive /norestart

Installieren der weiterverteilbaren Zusammenführungsmodule

Wichtig

Seriendruckmodule (.msm Dateien) für Redistributable-Dateien in Visual C++ sind veraltet. Es wird nicht empfohlen, sie für die Anwendungsbereitstellung zu verwenden. Stattdessen wird die zentrale Bereitstellung des Redistributable-Pakets von Visual C++ empfohlen. Die zentrale Bereitstellung durch ein Redistributable-Paket ermöglicht es Microsoft, Bibliotheksdateien unabhängig voneinander zu serviceieren. Und eine Deinstallation Ihrer App kann sich nicht auf andere Anwendungen auswirken, die auch die zentrale Bereitstellung verwenden. Wenn Sie ein Redistributable-Paket für die zentrale Bereitstellung verwenden, sind Sie nicht dafür verantwortlich, die Laufzeitbibliotheken nachzuverfolgen und zu Standard. Andernfalls müssen Sie ein Update für die Laufzeitbibliotheksdateien aktualisieren und erneut bereitstellen .msi . Ihre App kann anfällig für Fehler oder Sicherheitsprobleme sein, bis Sie dies tun.

Redistributable merge modules must be included in the Windows Installer package (or similar installation package), that you use to deploy your application. Weitere Informationen finden Sie unter Redistributing mithilfe von Zusammenführungsmodulen. Ein Beispiel finden Sie unter Walkthrough: Deploying a Visual C++application by using a setup project.

Installieren einzelner weitervertreibbarer 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 die ausführbare Anwendungsdatei enthält. Aus Wartungsgründen wird die Verwendung dieses Installationsspeicherorts nicht empfohlen.

Mögliche Laufzeitfehler

Wenn Windows eine der redistributable Library DLLs, die von Ihrer Anwendung benötigt werden, nicht finden kann, wird möglicherweise eine Meldung wie folgt angezeigt: "Diese Anwendung konnte nicht gestartet werden, weil library.dll nicht gefunden wurde. Durch erneutes Installieren der Anwendung kann dieses Problem behoben werden."

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

Weiterverteilen mithilfe von Zusammenführungsmodulen
Beschreibt, wie Visual C++ Redistributable Merge Modules zum Installieren der Visual C++-Laufzeitbibliotheken als freigegebene DLLs im %windir%\system32\ Ordner verwendet wird.

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. 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.