Nein, sie waren nie Teil der Windows-Distribution. Sie selbst zu implementieren, ist eine harte Anforderung.
Es kann sicherlich scheinen, dass sie sind. Beginnend mit msvcrt.dll im system32-Verzeichnis hat es den gleichen Namen wie die C++ - Laufzeit-DLL in Visual Studio-Versionen vor VS2002 (VS6 und früher). Es ist jedoch eine private Kopie des CRT, die von Windows-ausführbaren Dateien verwendet wird. Und geschützt durch den Dateisystemschutz in Windows, der verhindert, dass alte Installer das Betriebssystem zerstören.
Es funktioniert sicherlich oft zufällig. Es gibt viele Programme, die das Microsoft CRT benötigen, so ist es nicht unwahrscheinlich, dass der Benutzer ein Installationsprogramm ausgeführt hat, bevor die DLLs installiert wurden. Natürlich können Sie sich nicht auf diesen gewöhnlichen Unfall verlassen.
Ähnlich wie für Windows 8 entspricht das vorinstallierte Microsoft.VCLibs.110-Paket dem Paket, das Sie für eine in C++ geschriebene Store-App benötigen. Aber aus dem gleichen Grund wie oben, Microsoft Store-Programme wurden auch mit VS2012 gebaut, genau wie Ihre. Was in der kommenden VS2013 passieren wird, ist momentan ein bisschen matschig, wir werden es bald wissen.
Übrigens, wenn Sie eine kleine Anwendung verteilen müssen, die ausgeführt werden muss, ohne etwas installieren zu müssen, haben Sie immer die Möglichkeit, statisch mit dem CRT zu verknüpfen. –
Beachten Sie, dass das gleiche über die VC6 CRT gesagt wurde. Wenn Sie mit zukünftigen Windows-Versionen kompatibel bleiben möchten, sollten Sie sich heute an die Regeln halten. Microsoft kann von Zeit zu Zeit Änderungen einführen, die sich jedoch in erster Linie auf Programme auswirken, die nicht den Best Practices entsprechen. – MSalters