Ürün Kodunu Değiştirme
Ürün kodu, bir uygulamanın veya ürünün asıl kimliği olan bir GUID'dir. Bkz. Ürün Kodları.
Aşağıdaki yönergeleri karşılayan bir güncelleştirme genellikle ürün kodunun değiştirilmesini gerektirmez ve küçük bir güncelleştirme olarak veya sürüm değiştirilecekse, küçük bir yükseltmeolarak işlenebilir:
- Güncelleştirme özellik bileşeni ağacını büyütebilir veya azaltabilir, ancak Özellik ve FeatureComponents tabloları tarafından açıklanan mevcut özellik ve bileşen hiyerarşisini yeniden düzenlememelidir. Mevcut özellik bileşeni ağacına yeni bir özellik ekleyebilir. Eğer bir üst özelliği kaldırırsa, kaldırılan özelliğin tüm alt özelliklerini de kaldırmalıdır.
- Güncelleştirme, yeni veya mevcut bir özelliğe yeni bir bileşen ekleyebilir.
- Güncelleştirme hiçbir bileşenin bileşen kodunu değiştirmemelidir. Sonuç olarak, bileşen kodunun değiştirilmesi gerekeceğinden, küçük bir güncelleştirme veya ikincil yükseltme hiçbir zaman bileşenin anahtar dosyasının adını değiştirmemelidir.
- Güncelleştirme, yükleme paketinin .msi dosyasının adını değiştirmemelidir. Bunun yerine, paketi değiştirdiği için paket kodunu değiştirmesi gerekir. Bunun, güncelleştirmenin dosyanın adını değiştirmeden .msi dosyasındaki tabloları, özel eylemleri ve iletişim kutularını değiştirebileceği anlamına geldiğini unutmayın.
- Güncelleştirme, iki veya daha fazla özellik tarafından paylaşılmayan dosyaları, kayıt defteri anahtarlarını veya bileşenlerin kısayollarını ekleyebilir, kaldırabilir veya değiştirebilir. Güncelleştirme, sürümü değiştirilmiş bir dosyayı değiştirirse, Dosya tablosunda bu dosyanın sürümü artırılmalıdır. Güncelleştirme kaynakları kaldırırsa, önceden yüklenmiş olan kullanılmayan dosyaları, kayıt defteri anahtarlarını veya kısayolları kaldırmak için RemoveFile ve RemoveRegistry tablolarını da güncelleştirmelidir.
- İki veya daha fazla özellik tarafından paylaşılan bir bileşenin güncelleştirmesi, bileşeni kullanan tüm uygulamalar ve özelliklerle geriye dönük olarak uyumlu olmalıdır. Güncelleştirme, değişiklikler geriye dönük olarak uyumlu olduğu sürece dosyalar, kayıt defteri girdileri ve kısayollar gibi paylaşılan bir bileşenin kaynağını değiştirebilir. Güncelleştirmenin paylaşılan bir bileşenden dosya, kayıt defteri girdisi veya kısayol eklemesi veya kaldırması önerilmez.
- Küçük bir güncelleştirme, Windows Installer düzeltme eki paketiolarak gönderilir. Tam sürüm CD-ROM genellikle küçük bir güncelleştirmeyle sağlanmamaktadır.
Güncelleştirme için aşağıdakilerden biri geçerliyse ürün kodu değiştirilmelidir:
- Aynı sistemde hem özgün hem de güncelleştirilmiş ürünlerin bir arada bulunması mümkün olmalıdır.
- .msi dosyasının adı değiştirildi.
- Mevcut bir bileşenin bileşen kodu değişti.
- Mevcut bir özellikten bir bileşen kaldırılır.
- Mevcut bir özellik, mevcut bir özelliğin alt öğesi haline getirilmiştir.
- Mevcut bir alt özellik, bağlı olduğu üst özellikten kaldırıldı.
Tamamen yeni bileşenlerden oluşan yeni bir alt özelliğin mevcut bir özelliğe eklenmesi için ürün kodunun değiştirilmesi gerekmediğini unutmayın.
Yeni alt özellikler, Özellik tablosunun Öznitelikler alanına msidbFeatureAttributesFollowParent ve msidbFeatureAttributesUIDisallowAbsent eklenerek yazılabilir. İkincil yükseltme yalnızca yeni alt özellikler ekliyorsa, REINSTALL=ALL yeni alt özelliklerin yüklenmesini zorlamak için yeterlidir. Daha fazla bilgi için bkz. Özellik Seçimi Durumlarını Denetleme.
Yeni bir çocuk özellik kullanıcıdan gizlenebilir. Yeni bir alt özelliğin yükleme durumunu ana özelliğiyle senkronize etmek için, alt özellik için msidbFeatureAttributesFollowParent ve msidbFeatureAttributesUIDisallowAbsent bitlerini ayarlayın.
İlgili konular