2011-10-29 11 views
6

Visual Studio Kurulumu projesini kullanıyorum. Kurulum projesinin özelliklerine gidersem, hangi ön-reqlerin gerekli olduğunu seçmeme izin verir, hangi noktada C++ Yeniden Dağıtılabilir'i seçerim.Ön koşul olarak C++'yi ekleyin, ancak "Yeni bir sürüm zaten var" yazıyor

Bazı sistemlerde, bu iyi çalışır - ancak son zamanlarda, kullanıcılarım, "Microsoft Visual C++ 2010 Yeniden Dağıtılabilir'in daha yeni bir sürümü, makinede algılanmıştır" nedeniyle yükleme işleminin başarısız olduğunu bildirmektedir.

Bunu yapmanın doğru yolu nedir? Visual Studio'nun algılaması bir şekilde başarısız oldu ve C++ algılayamadı mı?

cevap

1

Varsayılan Visual C++ 2010 Yeniden Dağıtılabilir, algılama için bir Ürün Kodu kullanır. Böylece Visual C++ 2010 SP1 Yeniden dağıtılabilir, yüklü olarak algılanmaz. Paketin onu yüklemeye çalıştığı ve başarısız olmasının nedeni budur.

İyi bir çözüm, daha iyi bir algılama ölçütü kullanan kendi özel önkoşulunuzu oluşturmaktır. http://blogs.msdn.com/b/astebner/archive/2010/05/05/10008146.aspx

Visual Studio kurulum projeleri özel önkoşul oluşturulmasını desteklemez: İşte bir size yardımcı olabilecek makale. Ancak, gerekli bildirimleri manuel olarak oluşturarak yapılabilir.

Burada manifestolar yapıyı bulabilirsiniz: http://msdn.microsoft.com/en-us/library/ms229223(VS.80).aspx

Bu manifestolar Bootstrapper Manifest Generator aracıyla otomatik olarak oluşturulabilir.

paket listelerini oluştururken sonra, örneğin, Visual Studio önkoşullar klasöründe ayrı bir klasörde (pakete dahil) tüm bu dosyaları ekleyebilirsiniz:

C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\ 

önkoşulu gösterecektir Bu şekilde Visual Studio kurulum proje özellikleri sayfanızda.

4

Yuck, bu çok çirkin. Microsoft, VS2010 için çalışma zamanı DLL'lerinin yan yana yüklemesinden vazgeçtikten sonra ne olacağını merak ediyordum. Açık görünüyor, interweb'ler bu yükleyici hatasıyla doludur. En büyük kurban, Microsoft'un kendisini Streets ve Maps yüklemesi başarısız olduğu gibi görünüyor.

Bunun için herhangi bir güvenlik düzeltme ekinin farkında değilim, bu yüzden henüz SP1'e güncellemediğinizi tahmin etmeliyim. Müşterileriniz de bir satıcıyı kullanıyor. Bu, her zaman bir gün kaybedeceğin bir savaş. DLL'ler için uygulama yerel dağıtımından yararlanmayı ve bunları ana EXE'inizle aynı dizine kopyalamayı düşünün. Kurulum paketini bir araya getirmeden önce önkoşulları işaretlemenize gerek kalmadan vc/redist dizininden kopyalayın. Sen gerekir:

  • msvcr100.dll ve msvcp100.dll
  • atl100.dll ATL kullanırsanız
  • mfc100.dll, mfc100u.dll, mfcm100.dll, mfc100u.dll düzenli CRT için Eğer MFC kullanıyorsanız kodunuzda OpenMP kullanırsanız İngilizce olmayan bir makinede
  • vcomp100.dll üzerinde MFC kullanırsanız xxx 3 harfli dil kodudur
  • mfc100xxx.dll (= u Unicode, m = yönetilen) .

Sadece bir dezavantaj, bir güvenlik düzeltme eki varsa güncellenmeyecek olmasıdır. Ne renk gözlük taktığınıza bağlı olarak bu bir avantaj olabilir.Bu konuda rahatsızlık duyuyorsanız, Windows Update'i etkinleştirmek de dahil olmak üzere kurulum paketini oluşturan makineyi güncel tutmak önemli bir gerekliliktir.

İlgili konular