Assembly'leri Güncelleme
Bu konudaki bilgiler, Windows Installer düzeltme eklerini kullanarak derlemeleri güncelleştirmek için önerilen yönergeleri tanımlar.
Derleme güncelleştirmelerinin yazarları, tüm derleme türleri için geçerli olan aşağıdaki yönergeleri kullanabilir:
- Derlemeyi güncelleştirmek için önerilen yöntem, MsiAssemblyName tablosundaki derlemenin tanımlayıcı adını değiştirmektir. Yeni derleme sürümü, yeni bir bileşen veya eski sürümü sağlayan aynı bileşen tarafından sağlanabilir.
- Yeni derleme sürümü aynı bileşen tarafından sağlanıyorsa, derleme türünü .NET Framework derlemesinden Win32 derlemesine veya tam tersi olarak değiştirmeyin.
- Sistemdeki tüm uygulamaların güncelleştirilmiş derlemeyi kullanması gerekiyorsa, bir ilke derlemesi dağıtmanız gerekir. İlke derlemesi, sistemdeki uygulamaları yeni derleme sürümünü kullanacak şekilde yeniden yönlendirebilir. İlke derlemeleri yeni bir bileşen oluşturularak sağlanmalıdır.
- Derleme güncelleştirmelerini kaldırmak için Windows Installer 3.0 veya üzeri gereklidir. Daha fazla bilgi için bkz. Yamaları Kaldırma.
- Derlemenin daha yeni sürümü, daha önce yayımlanan derlemelerden dosyaların aynı veya daha yüksek sürümlerini içermelidir.
- Windows Installer 3.0, .NET Framework ve Win32 derlemelerine tam bir dosya değişimi veya daha küçük bir delta güncellemesi ile hizmet verebilir. Daha fazla bilgi için bkz. Yama Boyutunu Küçültme.
- Güncelleştirmeniz, derlemenin tanımlayıcı adını değiştirirse ve düzeltme eki paketinde MsiPatchSequence tablosu yoksa, MsiPatchOldAssemblyFile tablosu ve MsiPatchOldAssemblyName tablosu gereklidir. Düzeltme eki paketi bir MsiPatchSequence tablosunda düzeltme eki sıralama bilgilerine sahipse MsiPatchOldAssemblyFile tablosu ve MsiPatchOldAssemblyName tablosu gerekli değildir.
- Yeni bir yama yayınlamadan önce, daha önce yayımlanan tüm düzeltme ekleriyle uygulayarak düzeltme ekini test edin.
Win32 Derlemelerini Güncelleştirme
Win32 derlemelerini güncelleştirirken aşağıdaki yönergeleri kullanın:
- MsiAssemblyName tablosunda belirtilen yeni derlemenin güçlü adını değiştirin.
- Uygulamanızın sistemdeki diğer uygulamalar tarafından kullanılan derleme sürümünü etkilemeden her zaman derlemenin yeni sürümünü kullanmasını istiyorsanız, eski derleme sürümü için kullandığınız yeni derleme sürümünü içermek için aynı bileşeni kullanın. Bileşeni tablosunda aynı ComponentId değerini tutun. Uygulamanıza bir yama uygulandıktan sonra, yalnızca derlemenin yeni sürümüne referans tutar. Derlemenin eski sürümü, genel derleme önbelleğindeki yeni sürümle kalabilir. Bu, sistemde derlemenin eski sürümünü kullanan diğer uygulamaları etkilemez. Derlemenin hem yeni hem de eski sürümleri için aynı bileşen kullanıldığında, güncelleştirmeniz daha küçük bir delta düzeltme eki olabilir.
- Derlemenin yeni sürümü uygulamanızı yüklemek istediğiniz tüm sistemlerle uyumlu değilse, derlemenin yeni ve eski sürümlerini yan yana derlemeler olarak yükleyebilirsiniz. Her iki derleme sürümünü de yan yana yüklemek için yeni derleme sürümünü içerecek yeni bir bileşen oluşturun. Yeni bileşenin Bileşeni tablosundaki ComponentId değeri, eski sürüme sahip bileşenin ComponentId'sinden farklı olmalıdır. Uygulamanıza yama yapıldıktan sonra, derleme sürümlerinin her ikisine de referanslar tutar. Ardından uygulama, bir bildirimle derlemenin uyumlu sürümüne yönlendirilebilir. Derlemenin yeni ve eski sürümleri için farklı bileşenler kullanıldığında, güncelleştirmeniz tam dosya değişimini kullanır.
.NET Framework Derlemelerini Güncelleştirme
.NET Framework derlemelerini güncelleştirirken aşağıdaki yönergeleri kullanın.
MsiAssemblyName tablosunda belirtilen yeni derlemenin tanımlayıcı adınıdeğiştirin.
Uygulamanızın sistemdeki diğer uygulamalar tarafından kullanılan derleme sürümünü etkilemeden her zaman derlemenin yeni sürümünü kullanmasını istiyorsanız, MsiAssemblyName tablosunda belirtilen yeni derlemenin kesin adını değiştirin ve eski derleme sürümü için kullandığınız yeni derleme sürümünü içerecek şekilde aynı bileşeni kullanın. Bileşeni tablosunda aynı ComponentId değerini tutun. Uygulamanız düzeltildikten sonra yalnızca derlemenin yeni sürümüne bir referans tutar. Derlemenin eski sürümü genel önbellekteki yeni sürümle kalabilir. Bu, sistemde derlemenin eski sürümünü kullanan diğer uygulamaları etkilemez. Derlemenin hem yeni hem de eski sürümleri için aynı bileşen kullanıldığında, güncelleştirmeniz daha küçük bir delta düzeltme eki olabilir.
Derlemenin yeni sürümü uygulamanızı yüklemek istediğiniz tüm sistemlerle uyumlu değilse, derlemenin yeni ve eski sürümlerini yan yana derlemeler olarak yükleyebilirsiniz. Her iki derleme sürümünü de yan yana yüklemek için, MsiAssemblyName tablosunda belirtilen yeni derlemenin tanımlayıcı adınıdeğiştirin ve yeni derleme sürümünü içerecek yeni bir bileşen oluşturun. Yeni bileşenin Bileşeni tablosundaki ComponentId değeri, eski sürüme sahip bileşenin ComponentId değerinden farklı olmalıdır. Uygulamanıza düzeltme uygulandıktan sonra, her iki derleme sürümüne de başvurular tutar. Uygulama daha sonra bir bildirim tarafından derlemenin uyumlu sürümüne yönlendirilebilir. Derlemenin yeni ve eski sürümleri için farklı bileşenler kullanıldığında, güncelleştirmeniz tam dosya değişimini kullanır.
Yerinde güncelleştirme, .NET Framework Derlemesinin genel derleme önbelleğindeki kopyasının üzerine yazar. Bu tür bir derleme güncellemesi, derlemenin güçlü adını değiştirmez. Yalnızca MsiAssemblyName tablosunun FileVersion alanındaki değer değiştirilir. .NET Framework Derlemesinin yerinde güncelleştirmesi için .NET Framework 1.1 SP1 veya üzeri gerekir.
Not
Yerinde güncelleme türü, derlemenin global önbellekteki kopyasının üzerine yazılır ve derlemenin yeni sürümü tamamen geriye dönük olarak uyumlu değilse diğer uygulamaların çalışmasını bozabilir. Derlemeyi güncelleştirmek için önerilen yöntem, MsiAssemblyName tablosundaki derlemenin tanımlayıcı adını değiştirmektir.