Aracılığıyla paylaş


Visual C++ 2010 üzerinde Dağıtım

Bir uygulamayı başka bir bilgisayara dağıtırken, uygulamanın kendisini ve uygulamanın bağlı olduğu kütüphane dosyalarını yüklemeniz gerekir. Visual C++ 2010 size Visual C++ çalışma zamanının bir uygulama ile dağıtılması için üç yol sunar: merkezi dağıtım, yerel dağıtım veya statik bağlama.

Merkezi Dağıtım

Merkezi dağıtım, Visual C++ DLL dosyalarınızın System32 dizinine yüklendiği anlamına gelir. Uygulamanızı merkezi olarak dağıtmak için aşağıdakilerden birini kullanabilirsiniz:

  • mimari öğesinin x32, x64 veya ia64 olduğu **VCRedist_**mimari.exe komut satırı aracıdır.

  • Modülleri birleştirir.

VCRedist_mimari.exe belirli donanım platformu için tüm kitaplıkları yükler. Birleştirme modülleri veya.msm dosyaları, geliştiricilerin paylaşılan Windows Installer bileşenleri hazırlarken veya uygulamalarına mantık oluştururken kullandığı standart bir yöntem sunar.

Merkezi dağıtımın başlıca yararı acil bakım kolaylığıdır. Kritik bir güvenlik açığı belirlendiyse, Microsoft, merkezi olarak dağıtılan kitaplık dosyalarını otomatik olarak güncelleştirir.

Yerel Dağıtım

Yerel dağıtım, uygulamanızın kitaplık dosyalarının uygulama klasöründe yüklü olduğunu gösterir. Uygulamanızı yerel olarak dağıtmak için, sadece yürütülebilir dosya ve onunla ilişkili kitaplık dosyalarını bir klasöre kopyalayın.

Dosya adları sürüm numarasını içerdiği için farklı kitaplık sürümleri yan yana bulunabilir (örneğin, CRT DLL sürüm 10 msvcr100.dll'dir).

Merkezi olarak dağıtılmış kitaplıklardan farklı olarak yerel kitaplıklar Microsoft tarafından otomatik olarak güncelleştirilmez. Yerel dağıtım kullanmaya karar verirseniz, kitaplıkları güncellemek için kendi yönteminizi uygulamalısınız.

Statik Bağlama

DLL'lere hiçbir bağımlılığı olmayan bir çalıştırılabilir dosya oluşturmak için uygulamanızı herhangi bir kütüphaneye (örneğin, CRT, MFC ya da ATL) statik olarak bağlayabilirsiniz. Statik bağlanmanın avantajı, uygulamanızın dağıtılmasının bir bilgisayardan diğerine, kitaplık dosyalarını da kopyalamak zorunda kalmadan kopyalanabilmesidir. Statik bağlama kullanıyorsanız ve Microsoft bağlı olduğunuz kitaplığı yükseltirse, uygulamanız yükseltilen kitaplığı kullanamaz.

Güvenlik Açıkları

Bir güvenlik açığı olması halinde, Microsoft, etkilenen kitaplığın yamalı bir sürümü olan bir düzeltme sağlar. Savunmasız kitaplığa sahip bilgisayarlara düzeltmeyi dağıtmak uygulama yazarının sorumluluğudur.

Güvenlik açığı kritik sayılıyorsa ve acil servis gereksinimi varsa, Microsoft merkezi olarak belirli bir Visual C++ kütüphanesi yüklenmiş bütün makinelere hizmet verebilmesi için Microsoft Update'i kullanacaktır. Uygulamanız yerel kitaplık dosyaları kullanıyorsa, acil servisi kendiniz sağlamalısınız.

Visual C++ 2008 ve Visual C++ 2010 arasındaki farklar

Visual C++ 2008 ve Visual C++ 2010 arasındaki en önemli değişiklikler şunlardır:

  • Visual C++ kitaplıkları artık bildirimlere bağlı değildir ve artık WinSxS klasörüne yüklenmez.

  • Bağımlı uygulamalar ve kitaplıklar artık bildirim bilgilerini gerektirmemektedir.

  • Yerel dağıtım, bundan böyle uydu bildirimi gerektirmemektedir.

  • Yerel Visual C++ kitaplıklarının yüklemesi merkezi bir konuma yeniden yönlendirilemez.

  • Acil bakım yalnızca merkezi olarak dağıtılan kitaplıklara uygulanır.

Sorun Giderme

Yükleyici sorunlarını tanılamak için depends.exe veya where.exe kullanın. Visual C++ Kitaplıklarının yükleme sırası LoadLibraryEx tarafından tanımlanandır.

Ayrıca bkz.

Diğer Kaynaklar

Dağıtım (Visual C++)