Freigeben über


Bereitstellung in Visual C++ 2010

Wenn eine Anwendung auf einem anderen Computer bereitgestellt werden soll, müssen die Anwendung selbst sowie alle Bibliotheksdateien installiert werden, von denen die Anwendung abhängt. Visual C++ 2010 bietet drei Möglichkeiten, die Visual C++-Laufzeit mit einer Anwendung bereitzustellen: zentrale Bereitstellung, lokale Bereitstellung oder statische Verknüpfung.

Zentrale Bereitstellung

Zentrale Bereitstellung bedeutet, dass die Visual C++-DLLs im Verzeichnis System32 installiert sind. Sie können die Anwendung mithilfe eines der folgenden Elemente zentral bereitstellen:

  • Das Befehlszeilentool **VCRedist_**Architektur.exe, in dem Architektur x32, x64 oder ia64 ist.

  • Mergemodule.

VCRedist_architecture.exe installiert alle Bibliotheken für die entsprechende Hardwareplattform. Mergemodule oder MSM-Dateien bieten eine Standardmethode, mit der Entwickler freigegebene Windows Installer-Komponenten und Setuplogik für Anwendungen bereitstellen können.

Der Hauptvorteil zentraler Bereitstellung ist Betriebsfähigkeit im Notfall. Wird eine kritische Sicherheitslücke entdeckt, aktualisiert Microsoft automatisch zentral bereitgestellte Bibliotheksdateien.

Lokale Bereitstellung

Lokale Bereitstellung bedeutet, dass die Bibliotheksdateien der Anwendung im Anwendungsordner installiert sind. Zur lokalen Bereitstellung der Anwendung, kopieren Sie die ausführbare Datei und die zugeordneten Bibliotheksdateien einfach in einen Ordner.

Andere Bibliotheksversionen können parallel betrieben werden, da die Dateinamen die Versionsnummer (Version 10 der CRT-DLL lautet z. B. "msvcr100.dll") beinhalten.

Im Gegensatz zu zentral bereitgestellten Bibliotheken werden lokale Bibliotheken nicht automatisch von Microsoft aktualisiert. Wenn Sie sich für die lokale Bereitstellung entscheiden, sollten Sie auch eine eigene Methode zur Aktualisierung von Bibliotheken implementieren.

Statische Verknüpfung

Sie können die Anwendung statisch mit jeder Bibliothek (z. B. CRT, MFC oder ATL) verknüpfen, um eine ausführbare Datei zu erzeugen, die keine DLL-Abhängigkeiten aufweist. Der Vorteil der statischen Verknüpfung ist, dass die Bereitstellung der Anwendung von einem Computer auf einen anderen kopiert werden kann, ohne dabei die Bibliotheksdateien kopieren zu müssen. Wenn Sie statische Verknüpfung verwenden und Microsoft die verknüpfte Bibliothek aktualisiert, kann die Anwendung die aktualisierte Bibliothek nicht verwenden.

Sicherheitsrisiken

Im Falle eines Sicherheitsrisikos stellt Microsoft eine gepatchte Version der betroffenen Bibliothek in Form eines Hotfix bereit. Der Ersteller der Anwendung trägt die Verantwortung für die Bereitstellung des Hotfix auf den Computern, auf denen die anfällige Bibliothek gespeichert ist.

Handelt es sich um eine große Sicherheitslücke und ist sofortiges Handeln erforderlich, wird Microsoft Update eingesetzt, um so alle Computer, auf denen die betreffende Visual C++-Bibliothek installiert ist, zentral zu aktualisieren. Wenn die Anwendung lokale Bibliotheksdateien verwendet, müssen Sie selbst eine entsprechende Notfallwartung durchführen.

Unterschiede zwischen Visual C++ 2008 und Visual C++ 2010

Die bedeutendsten Unterschiede zwischen Visual C++ 2008 und Visual C++ 2010 sind Folgende:

  • Visual C++-Bibliotheken hängen nicht mehr von Manifesten ab und sind nicht mehr im Ordner "WinSxS" installiert.

  • Abhängige Anwendungen und Bibliotheken erfordern keine Manifestinformationen mehr.

  • Die lokale Bereitstellung erfordert kein Satellitenmanifest mehr.

  • Das Laden lokaler Visual C++-Bibliotheken kann nicht an einen zentralen Speicherort weitergeleitet werden.

  • Notfallwartung ist nur für zentral bereitgestellte Bibliotheken verfügbar.

Problembehandlung

Verwenden Sie "depends.exe" oder "where.exe", um Ladeprogrammprobleme zu diagnostizieren. Die Ladereihenfolge von Visual C++-Bibliotheken entspricht der durch LoadLibraryEx definierten Reihenfolge.

Siehe auch

Weitere Ressourcen

Bereitstellung (Visual C++)