Penyebaran Universal CRT

Dari Visual Studio .NET hingga Visual Studio 2013, setiap rilis utama pengkompilasi dan alat C++ telah menyertakan pustaka Microsoft C Runtime (CRT) versi mandiri baru. Versi mandiri CRT ini independen dari, dan ke berbagai derajat, tidak kompatibel satu sama lain. Misalnya, pustaka CRT yang digunakan oleh Visual Studio 2012 adalah versi 11, bernama msvcr110.dll, dan CRT yang digunakan oleh Visual Studio 2013 adalah versi 12, bernama msvcr120.dll. Dimulai di Visual Studio 2015, itu tidak lagi terjadi. Visual Studio 2015 dan versi Visual Studio yang lebih baru semuanya menggunakan satu Universal CRT.

Universal CRT (UCRT) adalah komponen sistem operasi Microsoft Windows. Ini termasuk sebagai bagian dari sistem operasi di Windows 10 atau yang lebih baru, dan Windows Server 2016 atau yang lebih baru. UCRT tersedia dengan menggunakan Windows Update pada sistem operasi lama yang masih dalam dukungan yang diperpanjang. Penyebaran lokal Universal CRT didukung, dengan beberapa batasan.

Penyebaran pusat

Metode yang disukai untuk menginstal Universal CRT secara terpusat adalah menggunakan Microsoft Windows Update. Universal CRT adalah Pembaruan yang Direkomendasikan untuk semua sistem operasi Microsoft Windows yang didukung, jadi secara default, sebagian besar komputer menginstalnya sebagai bagian dari proses pembaruan reguler. Rilis awal Universal CRT KB2999226. Pembaruan selanjutnya dengan berbagai perbaikan bug dilakukan di KB3118401, dan ada lebih banyak pembaruan dengan perbaikan bug lebih lanjut dan fitur baru. Untuk pembaruan terbaru, cari support.microsoft.com "Universal C Runtime" atau "Universal CRT".

Tidak semua komputer Microsoft Windows secara teratur menginstal pembaruan dengan menggunakan Windows Update, dan beberapa mungkin tidak menginstal semua pembaruan yang Direkomendasikan. Untuk mendukung penggunaan aplikasi yang dibangun dengan menggunakan toolset Visual Studio 2015 dan C++ yang lebih baru pada komputer tersebut, ada file Universal CRT Redistributable yang tersedia untuk distribusi offline. File yang dapat didistribusikan ulang tersebut dapat diunduh dari salah satu tautan KB di atas. Universal CRT Redistributable mengharuskan komputer telah diperbarui ke paket layanan saat ini. Jadi, misalnya, yang dapat didistribusikan ulang untuk Windows 7 hanya akan diinstal ke Windows 7 SP1, bukan Windows 7 RTM.

Universal CRT adalah dependensi mendasar dari pustaka C++. Visual C++ Redistributable (VCRedist) menginstal versi awal Universal CRT (versi 10.0.10240) pada komputer yang belum menginstalnya. Versi ini cukup untuk memenuhi dependensi pustaka C++. Jika aplikasi Anda bergantung pada versi Universal CRT yang lebih baru, Anda harus menggunakan Windows Update untuk memperbarui komputer Anda sepenuhnya. Atau, instal versi UCRT tersebut secara eksplisit. Yang terbaik adalah menginstal Universal C Runtime dengan menggunakan Windows Update atau MSU sebelum Anda menginstal VCRedist. Urutan penginstalan ini dapat membantu menghindari beberapa reboot yang diperlukan.

Tidak semua sistem operasi memenuhi syarat untuk Universal C Runtime terbaru melalui Windows Update. Pada Windows 10 atau Windows 11, versi yang disebarkan secara terpusat cocok dengan versi sistem operasi. Untuk memperbarui Universal C Runtime lebih lanjut, Anda harus memperbarui sistem operasi. Untuk Windows Vista melalui Windows 8.1, Universal C Runtime terbaru yang tersedia didasarkan pada Windows 10 Anniversary Update (versi 10.0.14393).

Penyebaran lokal

Penyebaran lokal Universal CRT didukung, tetapi tidak direkomendasikan karena alasan performa dan keamanan. DLL untuk penyebaran lokal disertakan sebagai bagian dari Windows SDK, di Windows Kits\10\Redist\ucrt\DLLs subdirektori, menurut arsitektur komputer. DLL yang diperlukan termasuk ucrtbase.dll dan sekumpulan DLL penerus APISet bernama api-ms-win-*.dll. Kumpulan DLL yang diperlukan pada setiap sistem operasi bervariasi. Sangat disarankan agar Anda menyertakan semua DLL saat Anda menyebarkan secara lokal.

Ada dua batasan penyebaran lokal yang perlu diperhatikan:

  • Pada Windows 10 dan Windows 11, Universal CRT di direktori sistem selalu digunakan, bahkan jika aplikasi menyertakan salinan aplikasi lokal dari Universal CRT. Itu benar bahkan ketika salinan lokal lebih baru, karena Universal CRT adalah komponen sistem operasi inti pada Windows 10 dan yang lebih baru.

  • Versi Windows sebelum Windows 8: Universal CRT tidak dapat dikemas secara lokal dengan plugin, jika terletak di mana saja tetapi direktori aplikasi utama yang dapat dieksekusi. DLL penerus APISet tidak dapat menyelesaikan keberhasilan ucrtbase.dll dalam kasus ini. Beberapa solusi alternatif yang direkomendasikan meliputi:

    • Tautkan Universal CRT secara statis,
    • Menyebarkan Universal CRT secara terpusat, atau
    • Tempatkan file Universal CRT di direktori yang sama dengan aplikasi.

Penyebaran di Microsoft Windows XP

Toolset Visual Studio 2015 dan Visual Studio 2017 terus mendukung pengembangan perangkat lunak untuk digunakan di Microsoft Windows XP. Ada versi Universal CRT untuk Microsoft Windows XP. Sistem operasi Microsoft Windows XP tidak lagi dalam dukungan mainstream atau diperpanjang. Jadi, penyebaran pusat Universal CRT ke Microsoft Windows XP berbeda dari sistem operasi lainnya.

Ketika Visual C++ Redistributable diinstal pada Windows XP, itu langsung menginstal Universal CRT dan semua dependensinya ke direktori sistem. Ini tidak menginstal atau bergantung pada Windows Update apa pun. Modul penggabungan Redistributable, Microsoft_VC<version>_CRT_<target>.msm file, melakukan hal yang sama.

Penyebaran lokal Universal CRT pada Windows XP sama dengan pada sistem operasi lain yang didukung.

Penting

Dukungan pustaka runtime untuk Windows XP tidak lagi tersedia di Visual C++ Redistributable terbaru untuk Visual Studio 2015, 2017, 2019 dan 2022. Yang terakhir dapat didistribusikan ulang untuk mendukung Windows XP adalah versi 16.7 (file versi 14.27.29114.0). Jika aplikasi Windows XP Anda disebarkan dengan atau diperbarui ke versi yang lebih baru dari yang dapat didistribusikan ulang, aplikasi tidak akan berjalan. Untuk informasi selengkapnya, dan cara mendapatkan versi redistributable yang mendukung Windows XP, lihat Mengonfigurasi program untuk Windows XP.

Baca juga