2010-01-23 17 views

cevap

9

Microsoft'un 4. bölümünün okunmasını öneririm. NET Applications Lifecycle Guide. Terfi edeceğim bir Otomatik Güncelleme sistemi kuruyorsunuz - sahip olduğunuz bir web sunucusuyla bağlantı kurmak için küçük bir sistem yazabilir, yükseltme olup olmadığını kontrol edin, yükseltme yamasını indirip yükleyin.

+0

+1 geçmişte kendimi yapmış ve oldukça çekicidir. – davek

1

ClickOnce'un büyük hayranı değilim. Konsepti beğendim, fakat spesifik uygulamayı değil.

Geçmişte bir uygulama güncelleme sistemi hazırladığım yol, tüm uygulama dosyalarını bir dosya dosyasına sıkıştırmak ve web sunucuma yerleştirmektir. İşleri kolaylaştırmak için konteyner dosyasının oluşturulmasını otomatikleştirdim. Web sunucusunda, şu anki sürümü ve kapsayıcının URL'sini listeleyen bir sürüm bilgisi dosyanız var: 1.0.0.0|http://www.example.com/path/to/container.file. Sürüm bilgisi dosyasını ayrıştırmak için, yapılacak tüm uygulamaların dosya içeriği '|' boru karakterini kullanarak bölünmesidir. İlk dizi elemanı sürüm numarası olacak ve ikinci eleman konteyner dosya yolu olacaktır.

Başlangıçta ve her iki gün gibi düzenli aralıklarla (kullanıcının uygulamayı uzun bir süre çalışarak bırakması durumunda), uygulamada web sunucusundaki sürüm bilgisi dosyasını kontrol etmem gerekir. orada listelenen sürüm çalışan sürümünden sonra gelir. Bir güncelleme varsa, uygulama kullanıcıyı yönlendirir. Kullanıcı güncellemeyi istiyorsa, uygulama, kapsayıcıyı sürüm bilgisi dosyasında belirtilen URL'den indirir ve içeriği, uygulamanın yeni klasörün xxx.exe olarak kaydedilmesine izin vermek için şu anda çalışan exe değerini xxx.exe.old olarak yeniden adlandırarak uygulamanın klasörüne kaydeder. Daha sonra uygulama kendini yeniden başlatır ve yeni exe xxx.exe.old'u siler.

Uygulamanızın yeni bir sürümünü yayınlamak istediğinizde, yapmanız gereken tek şey uygulamanızın sürüm numarasını arttırmak, sürüm bilgisi dosyasını yeni sürüm numarasıyla güncellemek ve güncellenmiş bir kapsayıcı dosyasını web'inize yüklemek sunucusu.

1

Bilgim olmadan sessiz güncelleştirmeler yapan bir uygulama yapmamayı tercih ederim. Aslında, bir güncellemenin gerekli olduğunu, sessiz bir güncellemenin kötü amaçlı olarak algılanacağını, bir şeyleri kullanıcı tarafından gizlendiğini ve rızası olmadan makineyi devralacağını söylemeyi tercih ederim. Daha fazla bilgi için: http://www.microsoft.com/downloads/default.aspx?displaylang=tr Sessiz güncelleme nedeniyle makine berbat kayıt vb 'bozuk görünüyor' neden bilgi sahibi olmadan makineyi berbat olursa ...

Evet bu tartışılır ... ne olurdu

Benim 2cents

ClickOnce'dan bahsetmek için
+5

Çalışmak için bir uygulama izni verdiyseniz, zaten kötü amaçlı bir şey yapma iznini verdiniz. Ve güncellemeler her zaman makinenizi vidalama riski taşıyor - yine de güncellemenin iyi olduğundan emin olmanız gerekiyor. Google'ın Chrome tarayıcısı sessiz güncellemeler yapıyor, bu da dikkatimi buna çekti.Kabul edilen bir uygulama haline geleceğini düşünüyorum. – greg7gkb

İlgili konular