Visual C++ Dosyalarını Yeniden Dağıtma
Not
Visual C++ Çalışma Zamanı dosyalarından birinin indirilmesini aradığınız için mi buradasınız? Desteklenen en son Visual C++ Yeniden Dağıtılabilir indirmeler sayfasına gidin.
Yeniden dağıtılabilir dosyalar ve lisanslama
Bir uygulamayı dağıtırken, onu desteklemek için gerekli tüm dosyaları da dağıtmalısınız. Bu dosyalardan herhangi biri Microsoft tarafından sağlanıyorsa bunları yeniden dağıtma izniniz olup olmadığını denetleyin. IDE'de Visual Studio lisans koşullarının bağlantısını bulabilirsiniz. Microsoft Visual Studio Hakkında iletişim kutusundaki Lisans koşulları bağlantısını kullanın. Alternatif olarak, Visual Studio Lisans Dizini'nden ilgili EULA'ları ve lisansları da indirebilirsiniz.
Visual Studio 2022 Microsoft Yazılım Lisans Koşulları'nın "Dağıtılabilir Kod" bölümünde başvuruda bulunan "DAĞITIM listesini" görüntülemek için bkz . Microsoft Visual Studio 2022 için dağıtılabilir kod dosyaları
Visual Studio 2019 Microsoft Yazılım Lisans Koşulları'nın "Dağıtılabilir Kod" bölümünde başvuruda bulunan "DAĞITIM LISTESI"ni görüntülemek için bkz . Microsoft Visual Studio 2019 için Dağıtılabilir Kod Dosyaları
Visual Studio 2017 Microsoft Yazılım Lisans Koşulları'nın "Dağıtılabilir Kod" bölümünde başvuruda bulunan "REDIST listesini" görüntülemek için bkz . Microsoft Visual Studio 2017 için Dağıtılabilir Kod Dosyaları.
Visual Studio 2015 Microsoft Yazılım Lisans Koşulları'nın "Dağıtılabilir Kod" bölümünde başvuruda bulunan "REDIST listesini" görüntülemek için bkz . Microsoft Visual Studio 2015 için Dağıtılabilir Kod Dosyaları.
Yeniden dağıtılabilir dosyalar hakkında daha fazla bilgi için bkz . Hangi DLL'lerin yeniden dağıtılacağını belirleme ve Dağıtım örnekleri.
Yeniden dağıtılabilir dosyaları bulma
Yeniden dağıtılabilir dosyaları dağıtmak için Visual Studio tarafından yüklenen yeniden dağıtılabilir paketleri kullanabilirsiniz. 2017'den bu yana Visual Studio sürümlerinde, bu dosyalar , vc_redist.x64.exe
ve vc_redist.x86.exe
olarak adlandırılırvc_redist.arm64.exe
. Visual Studio 2015, 2017 ve 2019'da , ve (yalnızca 2015) vcredist_arm.exe
adlarında vcredist_x86.exe
vcredist_x64.exe
da kullanılabilir.
Yeniden dağıtılabilir dosyaları bulmanın en kolay yolu, geliştirici komut isteminde ayarlanan ortam değişkenlerini kullanmaktır. Visual Studio 2022'de %VCINSTALLDIR%Redist\MSVC\v143
yeniden dağıtılabilir dosyalar klasördedir. Visual Studio 2019'un en son sürümünde, yeniden dağıtılabilir dosyaları %VCINSTALLDIR%Redist\MSVC\v142
klasörde bulabilirsiniz. Hem Visual Studio 2017 hem de Visual Studio 2019'da da bulunurlar %VCToolsRedistDir%
. Visual Studio 2015'te, bu dosyalar içinde %VCINSTALLDIR%redist\<locale>
bulunabilir; burada <locale>
yeniden dağıtılabilir paketlerin yerel ayarıdır.
Visual Studio 2022 ve 2019'da birleştirme modülü dosyaları, Visual Studio Yükleyicisi C++ <sürümü> Yeniden Dağıtılabilir MSM'ler adlı isteğe bağlı yüklenebilir bir bileşenin parçasıdır. Birleştirme modülleri, Visual Studio 2017 ve Visual Studio 2015'te C++ yüklemesinin bir parçası olarak varsayılan olarak yüklenir. Visual Studio 2022'ye yüklendiğinde, içinde yeniden dağıtılabilir birleştirme modüllerini %VCINSTALLDIR%Redist\MSVC\v143\MergeModules
bulacaksınız. Visual Studio 2019'un en son sürümünde, yeniden dağıtılabilir birleştirme modülleri içindedir %VCINSTALLDIR%Redist\MSVC\v142\MergeModules
. Hem Visual Studio 2019 hem de Visual Studio 2017'de, bunlar içinde %VCToolsRedistDir%MergeModules
de bulunur. Visual Studio 2015'te bunlar içinde Program Files [(x86)]\Common Files\Merge Modules
bulunur.
Yeniden dağıtılabilir paketleri yükleme
Visual C++ Yeniden Dağıtılabilir Paketleri tüm Visual C++ kitaplıklarını yükler ve kaydeder. Kullanıyorsanız, uygulamanızı yüklemeden önce bunu hedef sistemde önkoşul olarak çalıştırın. Visual C++ kitaplıklarının otomatik güncelleştirilmesini sağladıklarından, dağıtımlarınız için bu paketleri kullanmanızı öneririz. Bu paketlerin nasıl kullanılacağı hakkında bir örnek için bkz. İzlenecek Yol: Visual C++ Yeniden Dağıtılabilir Paketini Kullanarak Visual C++ Uygulaması Dağıtma.
Her Visual C++ Yeniden Dağıtılabilir paketi, makinede daha yeni bir sürümün varlığını denetler. Daha yeni bir sürüm bulunursa paket yüklenmez. Visual Studio 2015 veya sonraki sürümlerinde, Yeniden Dağıtılabilir paketler kurulumun başarısız olduğunu belirten bir hata iletisi görüntüler. Bir paket bayrağı kullanılarak /quiet
çalıştırılırsa hiçbir hata iletisi görüntülenmez. Her iki durumda da, Microsoft yükleyicisi tarafından bir hata kaydedilir ve arayana bir hata sonucu döndürülür. Visual Studio 2015 ve sonraki sürümlerde, daha yeni bir sürümün yüklü olup olmadığını öğrenmek için kayıt defterini denetleyerek bu hatayı önleyebilirsiniz. Yüklü geçerli sürüm numarası anahtarda HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|arm64}
depolanır. Sürüm numarası Visual Studio 2015, 2017, 2019 ve 2022 için 14.0'dır çünkü en son Redistributable, 2015'e kadar önceki sürümlerle uyumlu ikilidir. Anahtar , arm64
x86
veya x64
platformun yüklü vcredist sürümlerine bağlıdır. (Alt anahtarın Wow6432Node
altında yalnızca yüklü x86 paketinin sürümünü bir x64 platformunda görüntülemek için Regedit kullanıyorsanız denetlemeniz gerekir.) Sürüm numarası, dize değerinde Version
ve ayrıca , Minor
, Bld
ve REG_DWORD
Rbld
değerleri kümesinde Major
depolanırREG_SZ
. Yükleme zamanında hata oluşmasını önlemek için, şu anda yüklü olan sürüm daha yeniyse Yeniden Dağıtılabilir paketinin yüklenmesini atlamalısınız.
Yeniden Dağıtılabilir paketler için komut satırı seçenekleri
Visual C++ Yeniden Dağıtılabilir çeşitli komut satırı seçeneklerini destekler. /?
, /h
veya /help
seçenekleri, kullanılabilir seçeneklerin listelendiği bir açılır iletişim kutusu görüntüler. Yeniden Dağıtılabilir'i yüklemeyi, /repair
onarmayı veya /uninstall
kaldırmayı belirtebilirsiniz/install
. seçeneği, /layout
geçerli dizindeki Yeniden Dağıtılabilir öğesinin tüm içeriğini kopyalar. Varsayılan olarak, Redistributable içeriğini yükler ve kullanıcıdan bilgi ister ve yüklemeden sonra yeniden başlatılıp başlatılmayacağını sorar. İlerleme durumunu /passive
görüntüleyen ancak aksi takdirde kullanıcı etkileşimi gerektirmeyen seçeneği belirtebilirsiniz. Kullanıcı arabirimi görüntülemeyen veya kullanıcı etkileşimi gerektirmeyen bir /quiet
seçenek de belirtebilirsiniz. seçeneği /norestart
, yeniden başlatma girişimlerini engeller. Varsayılan olarak, içinde %TEMP%
bir günlük dosyası oluşturulur. Belirli bir dosyada oturum açmak için kullanabilirsiniz /log filename.txt
.
Bu örnek komut x64 Redistributable'ı yükler. Yükleme ilerleme durumunu gösterir, ancak kullanıcı etkileşimi veya yeniden başlatma gerektirmez:
vc_redist.x64.exe /install /passive /norestart
Yeniden dağıtılabilir birleştirme modüllerini yükleme
Önemli
Visual C++ Yeniden Dağıtılabilir dosyaları için birleştirme modülleri (.msm
dosyalar) kullanım dışıdır. Bunları uygulama dağıtımı için kullanmanızı önermiyoruz. Bunun yerine, Visual C++ Yeniden Dağıtılabilir paketinin merkezi dağıtımını öneririz. Yeniden dağıtılabilir bir paket tarafından merkezi dağıtım, Microsoft'un çalışma zamanı kitaplık dosyalarına bağımsız olarak hizmet vermesini mümkün kılar. Ayrıca, uygulamanızın kaldırılması merkezi dağıtımı da kullanan diğer uygulamaları etkilemez. Merkezi dağıtım için yeniden dağıtılabilir bir paket kullandığınızda, çalışma zamanı kitaplıklarını izlemek ve korumak sizin sorumluluğunuzda değildir. Aksi takdirde, çalışma zamanı kitaplığı dosyalarına yönelik bir güncelleştirme yükleyicinizi güncelleştirmenizi ve yeniden dağıtmanızı .msi
gerektirir. Uygulamanız, siz bunu yapıncaya kadar hatalara veya güvenlik sorunlarına karşı savunmasız olabilir.
Yeniden dağıtılabilir birleştirme modülleri, uygulamanızı dağıtmak için kullandığınız Windows Installer paketine (veya benzer yükleme paketine) eklenmelidir. Daha fazla bilgi için bkz . Birleştirme modüllerini kullanarak yeniden dağıtma. Örnek için bkz . İzlenecek Yol: Kurulum projesi kullanarak Visual C++ uygulaması dağıtma.
Tek tek yeniden dağıtılabilir dosyaları yükleme
Ayrıca, Yeniden Dağıtılabilir DLL'leri uygulama yerel klasörüne doğrudan yüklemek de mümkündür. Uygulama yerel klasörü, yürütülebilir uygulama dosyanızı içeren klasördür. Hizmet verme nedenleriyle bu yükleme konumunu kullanmanızı önermiyoruz.
Olası çalışma zamanı hataları
Windows, uygulamanız için gereken Yeniden Dağıtılabilir kitaplık DLL'lerinden birini bulamazsa şuna benzer bir ileti görüntüleyebilir: "Kitaplık bulunamadığından bu uygulama başlatılamadı.dll. Uygulamayı yeniden yüklemek bu sorunu çözebilir."
Bu tür bir hatayı çözmek için uygulama yükleyicinizin doğru şekilde derlenmesine emin olun. Yeniden dağıtılabilir kitaplıkların hedef sistemde doğru dağıtıldığını doğrulayın. Daha fazla bilgi için bkz . Visual C++ Uygulamasının Bağımlılıklarını Anlama.
İlgili makaleler
Birleştirme modüllerini kullanarak yeniden dağıtma
Visual C++ çalışma zamanı kitaplıklarını klasöre paylaşılan DLL'ler olarak yüklemek için Visual C++ Yeniden Dağıtılabilir birleştirme modüllerinin %windir%\system32\
nasıl kullanılacağını açıklar.
Visual C++ ActiveX Denetimlerini Yeniden Dağıtma
ActiveX Denetimlerini kullanan bir uygulamanın nasıl yeniden dağıtılması gerektiği açıklanmaktadır.
MFC Kitaplığını Yeniden Dağıtma
MFC kullanan bir uygulamanın nasıl yeniden dağıtılacağı açıklanmaktadır.
ATL uygulamasını yeniden dağıtma
ATL kullanan bir uygulamanın nasıl yeniden dağıtılacağını açıklar. Visual Studio 2012 ve sonraki sürümlerinde ATL kitaplığı gerekmez.
Dağıtım Örnekleri
Visual C++ uygulamalarının nasıl dağıtıldığını gösteren örneklere bağlantılar verir.
Masaüstü Uygulamalarını Dağıtma
Visual C++ dağıtım kavramlarını ve teknolojilerini tanıtır.