Bir ClickOnce Güncelleştirme Stratejisi Seçme
ClickOnce, otomatik uygulama güncelleştirme imkanı verir. Güncelleştirmelerin uygulama için kullanılabilir olup olmadığı görmek için, ClickOnce uygulaması düzenli aralıklarla dağıtım bildirimi dosyasını okur. Kullanılabilir olması durumunda uygulamanın yeni sürümü indirilir ve çalıştırılır. Verimlilik için, sadece değişen dosyalar indirilir.
ClickOnce uygulamasını tasarlarken, uygulamanın kullanılabilir güncelleştirmeleri denetlemek için hangi stratejiyi kullanacağını belirlemeniz gerekir. Kullanabileceğiniz üç temel strateji vardır: Uygulama güncelleştirmeleri denetleme, (çalışan) bir arka plan iş parçacığı uygulama başlangıcından sonra güncelleştirmeleri denetleme veya güncelleştirmeler için bir kullanıcı arayüzü sağlama.
Ayrıca, uygulama güncelleştirmelerinin ne sıklıkta denetleneceğini belirleyebilirsiniz ve gerekli güncelleştirmeleri yapabilirsiniz.
Not
Uygulama güncelleştirmeleri, ağ bağlantısı gerektirir.Ağ bağlantısı mevcut değilse, uygulama güncelleştirme stratejisi ne olursa olsun güncelleştirmeleri denetlemeden çalışacaktır.
Not
.NET Framework 2.0 ve .NET Framework 3.0'da, uygulamanız güncelleştirmeleri her denetlediğinde, başlangıç öncesi, sonrası veya System.Deployment.Application API'lerini kullanarak, dağıtım bildiriminde deploymentProvider'ı ayarlamanız gerekir.deploymentProvider öğesi Visual Studio'da, Yayımla sekmesinin Güncellemeler iletişim sekmesindeki Update location'a (Güncelle konumu) karşılık gelir..NET Framework 3.5'te bu kural yumuşatılmıştır.Daha fazla bilgi için bkz. Sınama ve Üretim Sunucuları için Teslim Etmeden ClickOnce Uygulamaları Dağıtımı.
Uygulama Başlangıcından Sonra Güncelleştirmeleri Denetleme
Bu stratejiyi kullanarak, uygulama çalışırken, arka planda dağıtım dosyası bildiriminin yerini belirleyip okumayı deneyecektir. Bir güncelleştirme erişilebilirse, kullanıcının uygulamayı sonraki çalıştırmasında, kullanıcı güncelleştirmeyi indirmek ve kurmak için uyarılacaktır.
Bu strateji en iyi uzun indirmelere ihtiyaç duyacak büyük uygulamalar için veya düşük bant genişliğine sahip ağ bağlantıları için çalışır.
Bu güncelleştirme stratejisini etkinleştirmek için, Application Updates (Uygulama Güncelleştirmeleri) iletişim kutusunun Choose when the application should check for updates (Uygulama güncelleştirmeleri denetlediği zaman seçin) bölümünde After the application starts'ı (Uygulama başladıktan sonra) tıklayın. Sonra Specify how frequently the application should check for updates (Uygulamanın hangi sıklıkta güncelleştirmeleri denetleyeceğini belirleyin) bölümünde bir aralık belirleyin.
Bu, dağıtım bildiriminde Güncelle öğesini aşağıdaki gibi değiştirme ile aynıdır.
<!-- When to check for updates -->
<subscription>
<update>
<expiration maximumAge="6" unit="hours" />
</update>
</subscription>
Uygulama Başlangıcından Önce Güncelleştirmeleri Denetleme
Varsayılan strateji, uygulama başlatılmadan önce dağıtım bildirimi dosyasının yerini belirleyip okumayı denemektir. Bu strateji kullanarak, kullanıcı uygulamayı her başlattığında, uygulama dağıtım bildirim dosyasının yerini belirleyip okumaya çalışacaktır. Bir güncelleştirme kullanılabilirse, indirilip başlatılacaktır; aksi durumda uygulamanın varolan sürümü başlatılır.
Bu strateji en iyi yüksek bant genişliğine sahip ağ bağlantıları için çalışır; uygulama başlatımındaki gecikme düşük bantlı bağlantılar için kabul edilemeyecek kadar uzun olabilir.
Bu güncelleştirme stratejisini etkinleştirmek için, Application Updates (Uygulama Güncelleştirmeleri) iletişim kutusunun Choose when the application should check for updates (Uygulama güncelleştirmeleri denetlediği zaman seçin) bölümünde Before the application starts'ı (Uygulama başlamadan önce) tıklayın.
Bu, dağıtım bildiriminde Güncelle öğesini aşağıdaki gibi değiştirme ile aynıdır.
<!-- When to check for updates -->
<subscription>
<update>
<beforeApplicationStartup />
</update>
</subscription>
Gerekli Güncelleştirmeleri Yapma
Kullanıcıların uygulamanızın güncelleştirilmiş bir sürümünü çalıştırmasını istediğiniz durumlar olabilir. Örneğin, çalışan uygulamanızın daha eski bir sürümünün doğru olarak çalışmasını engelleyen bir Web hizmeti gibi harici bir kaynakta değişiklik yapabilirsiniz. Bu durumda, güncelleştirmenizi gerekli olarak işaretlemek ve kullanıcıların daha eski sürümleri çalıştırmasını engellemek isteyeceksinizdir.
Not
Başka güncelleştirme stratejileri kullanarak güncelleştirme yapmanız gerekmesine rağmen, Before the application starts'ı (Uygulama başlamadan önce) seçmek eski bir sürümün çalışmasını engellemenin tek yoludur.Zorunlu güncelleştirme başlangıçta algılandığında, kullanıcının ya güncelleştirmeyi kabul etmesi ya da uygulamayı kapatması gerekir.
Bir güncelleştirmeyi gerekli olarak işaretlemek için, Application Updates (Uygulama Güncelleştirmeleri) iletişim kutusunda Specify a minimum required version for this application'ı (Bu uygulama için gerekli en düşük sürümü belirtin) tıklayın ve uygulamanın yüklenebileceği en düşük sürüm numarasını belirten yayımla sürümünü (Major, Minor, Build, Revision) belirtin.
Bu, dağıtım bildiriminde Dağıtım öğesinde minimumRequiredVersion özniteliği ayarıyla aynıdır. Örneğin:
<deployment install="true" minimumRequiredVersion="1.0.0.0">
Güncelleştirme Aralıkları Belirtme
Uygulamanın güncelleştirmeleri ne sıklıkta denetleyeceğini de belirtebilirsiniz. Bunu yapmak için, bu konuda "Uygulama Başlangıcından Sonra Güncelleştirmeleri Denetleme" bölümünde bahsedildiği gibi uygulamanın güncelleştirmeleri başlangıçtan sonra denetleyeceğini belirtin.
Güncelleştirme aralığını belirtmek için, Application Updates (Uygulama Güncelleştirmeleri) iletişim kutusunda Specify how frequently the application should check for updates (Uygulamanın hangi sıklıkta güncelleştirmeleri denetleyeceğini belirtin) özelliklerini ayarlayın.
Bu, dağıtım bildiriminde Güncelle öğesinin maximumAge ve unit öznitelikleri ayarlarıyla aynıdır.
Örneğin, her zaman uygulama çalıştığında, haftada bir defa veya ayda bir defa denetlemek isteyebilirsiniz. Ağ bağlantısı belirtilen zamanda mevcut değilse, güncelleştirme denetimi uygulamanın sonraki açılışında gerçekleştirilir.
Güncelleştirmeler için Bir Kullanıcı Arayüzü Sağlama
Bu stratejiyi kullanırken, uygulama geliştiricisi kullanıcıya ne zaman veya ne sıklıkta uygulama güncelleştirmeleri denetlensin seçeneği imkanı veren bir kullanıcı arayüzü sağlar. Örneğin, "Güncelleştirmeleri Şimdi Denetle" komutu veya dört farklı güncelleştirme aralığı içeren bir "Güncelleştirme Ayarları" iletişim kutusu sağlayabilirsiniz. ClickOnce dağıtım API'leri kendi güncelleştirme kullanıcı arayüzünüzü programlamanız için bir çerçeve sağlar. Daha fazla bilgi için System.Deployment.Application isim uzayına bakınız.
Uygulamanız kendi güncelleştirme mantığını denetlemek için dağıtım API'leri kullanıyorsa, aşağıdaki bölümde "Güncelleştirme Denetimini Engelleme"de anlatıldığı gibi güncelleştirme denetimini engellemelisiniz.
Bu strateji, en iyi farklı kullanıcılar için farklı güncelleştirme stratejileri gerektiğinde çalışır.
Güncelleştirme Denetimini Engelleme
Uygulamanızın güncelleştirme yapmasını tamamen engellemeniz mümkündür. Örneğin, hiçbir zaman güncelleştirilmeyecek basit bir uygulamanız olabilir, ancak ClickOnce dağıtımının sağladığı yükleme kolaylığı avantajlarından da faydalanmak istiyorsunuz.
Uygulamanız kendi güncelleştirmelerini gerçekleştirmek için dağıtım API'leri kullanıyorsa da, güncelleştirme denetimini engellemelisiniz; bu konudaki "Güncelleştirmeler için Bir Kullanıcı Arayüzü Sağlama" bölümüne bakın.
Güncelleştirme denetimini engellemek için temizleyin Uygulama güncelleştirmeleri denetlesin uygulama güncelleştirmeleri iletişim kutusunda onay kutusu.
Dağıtım bildiriminden <Subscription> etiketini kaldırarak da güncelleştirme denetimini engelleyebilirsiniz.
İzin Yükseltilmesi ve Güncelleştirmeler
ClickOnce uygulamasının yeni bir sürümü önceki sürümünün çalıştığı güven düzeyinden daha yüksek bir düzeye ihtiyaç duyarsa, ClickOnce uygulamaya daha yüksek güven düzeyi verilmesini isteyip istemediğini sorarak kullanıcıyı uyarır. Kullanıcı daha yüksek güven düzeyi vermeyi redderse, güncelleştirme yüklenmez. ClickOnce, uygulama yeniden başlatıldığında kullanıcıyı uygulamayı yüklemek için tekrar uyarır. Bu noktada kullanıcı daha yüksek güven düzeyi verilmesini reddedip güncelleştirme gerekli değil şeklinde işaretlenirse, uygulamanın eski sürümü çalışacaktır. Ancak güncelleştirme gerekli ise, uygulama kullanıcı daha yüksek güven düzeyini kabul edene kadar çalışmaz.
Güvenilir Uygulama Dağıtımı kullanıyorsanız, güven düzeyleri için hiçbir uyarı ile karşılaşmazsınız. Daha fazla bilgi için bkz. Güvenilir Uygulama Dağıtımına Genel Bakış.
Ayrıca bkz.
Görevler
Nasıl yapılır: güncelleştirmeleri yönetmek için ClickOnce uygulama
Başvuru
Kavramlar
ClickOnce Güvenliği ve Dağıtımı
Bir ClickOnce Dağıtım Stratejisi Seçme
ClickOnce Uygulamaları Güvenliğini Sağlama
ClickOnce, Uygulama Güncelleştirmelerini Nasıl Gerçekleştirir