İzlenecek yol: Bir Gizlilik İstemi Göstermek Üzere Özel Bir Önyükleyici Oluşturmak
Daha yeni dosya sürümleri ve derleme sürümleri içeren derlemeler mevcut olduğunda, otomatik olarak güncelleştirmek için ClickOnce uygulamalarını yapılandırabilirsiniz.Müşterilerinizin için bu davranışı kabul ettiğinden emin olmak için onlara bir gizlilik istemi görüntülenmesini sağlayabilirsiniz.Ardından onlar uygulamayı otomatik olarak güncelleştirmek için izin verip vermemeyi seçebilirler.Uygulamanın otomatik olarak güncelleştirilmesine izin verilmiyorsa, yüklemez.
[!NOT]
Bilgisayarınızda, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazılarının adı veya konumu farklı gösterilebilir. Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler. Daha fazla bilgi için bkz: Visual Studio ayarları.
Önkoşullar
Bu örneği tamamlamak için aşağıdaki bileşenler gerekmektedir:
- Visual Studio 2010.
Güncelleştirme Onayı İletişim Kutusu Oluşturma
Bir gizlilik istemini görüntülemek için okuyucudan uygulama için otomatik güncelleştirmeleri kabul etmesini isteyen bir uygulama oluşturun.
Bir onay iletişim kutusu oluşturmak için
Dosya menüsünde, Yeni'nin üzerine gelin ve Proje'ye tıklatın.
Yeni Proje iletişim kutusunda, Windows'u ve sonra da WindowsFormsUygulaması'nı tıklatın.
Ad için ConsentDialog yazın ve Tamam'ı tıklatın.
Tasarımcıda formu tıklatın.
Özellikler penceresinde, Metin özelliğini Güncelleştirme Onayı İletişim Kutusu'na şu şekilde değiştirin:
Araç Kutusu'nda Tüm Windows Formları'nı genişletin ve formu denetlemek için bir Etiket'i sürükleyin.
Tasarımcıda etiket denetimini tıklatın.
Özellikler penceresinde, Görünüm altındaki Metin özelliğini şu şekilde değiştirin:
Yüklemek üzere olduğunuz uygulama, Web'deki en son güncelleştirmeleri denetler."Kabul ediyorum" düğmesini tıklatarak, uygulamaya güncelleştirmeleri Internet üzerinden otomatik olarak denetleyip yüklemesi için yetki verirsiniz.
Araç Kutusu'nda Onay Kutusu denetimini formun orta bölümüne sürükleyin.
Özellikler penceresinde, Düzen'in altındaki Metin özelliğini Kabul Ediyorum olarak değiştirin.
Araç Kutusu'nda Düğme denetimini formun sol altına sürükleyin.
Özellikler penceresinde, Düzen'in altındaki Metin özelliğini İlerle olarak değiştirin.
Özellikler penceresinde, Tasarım'ın altındaki (Name) özelliğini ProceedButton öğesine değiştirin.
Araç Kutusu'nda Düğme denetimini formun sağ altına sürükleyin.
Özellikler penceresinde, Düzen'in altındaki Metin özelliğini İptal olarak değiştirin.
Özellikler penceresinde, Tasarım'ın altındaki (Name) özelliğini CancelButton öğesine değiştirin.
Tasarımcıda, CheckedChanged olay işleyicisi oluşturmak için Kabul Ediyorum onay kutusunu çift tıklatın.
Form1 kod dosyasına CheckedChanged olay işleyicisi için aşağıdaki kodu ekleyin.
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged ProceedButton.Enabled = Not ProceedButton.Enabled End Sub
private void checkBox1_CheckedChanged(object sender, EventArgs e) { ProceedButton.Enabled = !ProceedButton.Enabled; }
İlerle düğmesini varsayılan olarak devre dışı bırakmak için sınıf oluşturucusunu güncelleştirin.
Public Sub New() InitializeComponent() ProceedButton.Enabled = False End Sub
public Form1() { InitializeComponent(); ProceedButton.Enabled = false; }
Form1 kod dosyasına son kullanıcının çevrimiçi güncelleştirmeleri onaylayıp onaylamadığını izlemek için aşağıdaki Boolean değişkeni kodunu ekleyin.
Public accepted As Boolean = False
public bool accepted = false;
Tasarımcıda Click olay işleyicisi oluşturmak için İlerle düğmesini çift tıklatın.
Form1 kod dosyasında, İlerle düğmesinin Click olay işleyicisine aşağıdaki kodu ekleyin.
Private Sub ProceedButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProceedButton.Click If ProceedButton.Enabled Then accepted = True Me.Close() End If End Sub
private void ProceedButton_Click(object sender, EventArgs e) { if (ProceedButton.Enabled) { accepted = true; this.Close(); } }
Tasarımcısında Click olay işleyicisi oluşturmak için İptal düğmesini çift tıklatın.
Form1 kod dosyasına İptal düğmesinin Click olay işleyicisi için aşağıdaki kodu ekleyin.
Private Sub CancelButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CancelButton.Click Me.Close() End Sub
private void CancelButton_Click(object sender, EventArgs e) { this.Close(); }
Uygulamayı son kullanıcı çevrimiçi güncelleştirmelere onay vermezse bir hata döndürecek şekilde güncelleştirin.
Yalnızca Visual Basic geliştiricileri için:
Çözüm Gezgini'nde, ConsentDialog öğesini tıklatın.
Proje menüsünde, Modül Ekle'yi ve sonra Ekle'yi tıklatın.
Module1.vb dosyasına aşağıdaki kodu ekleyin:
Module Module1 Function Main() As Integer Application.EnableVisualStyles() Application.SetCompatibleTextRenderingDefault(False) Dim f As New Form1() Application.Run(f) If (Not f.accepted) Then Return -1 Else Return 0 End If End Function End Module
Proje menüsünde ConsentDialog Özellikleri'ni ve ardından Uygulama sekmesini tıklatın.
Uygulama Çatısını Etkinleştir kutusunu boş bırakın.
Başlangıç nesnesi açılır menüsünden Module1 öğesini seçin.
[!NOT]
Uygulama çerçevesinin devre dışı bırakılması Windows XP görsel stiller, uygulama olayları, karşılama ekranı, tek örnek uygulaması ve daha fazlası gibi özellikleri devre dışı bırakır.Daha fazla bilgi için bkz. Uygulama sayfası, proje Tasarımcısı (Visual Basic).
Yalnızca Visual C# geliştiricileri için:
Program.cs kod dosyasını açın ve şu kodu ekleyin.
static int Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Form1 f = new Form1(); Application.Run(f); if (!f.accepted) return -1; else return 0; }
Yapı menüsünde, Çözümü Derle'yi tıklatın.
Özel Önyükleyici Paketi Oluşturma
Son kullanıcılara gizlilik istemini göstermek için Güncelleştirme Onayı İletişim uygulaması için özelleştirmiş bir önyükleyici paketi oluşturabilir ve tüm ClickOnce uygulamalarınızda bunu bir önkoşul olarak dahil edebilirsiniz.
Bu yordam, aşağıdaki belgeleri oluşturarak özel bir önyükleyici paketin nasıl oluşturulacağını göstermektedir:
Önyükleyici içeriğini açıklamak için bir product.xml dosyası.
Paketinizin dizeler ve Yazılım Lisans Koşulları gibi yerelleştirmeye özgü yönlerini listelemek için package.xml bildirim dosyası.
Yazılım lisans koşulları belgesi.
Adım 1: Önyükleyici dizini oluşturmak
%PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages üzerinde UpdateConsentDialog adlı bir dizin oluşturun.
[!NOT]
Bu klasörü oluşturmak için yönetim ayrıcalıklarına ihtiyacınız var.
UpdateConsentDialog dizininde, tr adlı bir alt dizin oluşturun.
[!NOT]
Her yerel ayar için yeni bir dizin oluşturun.Örneğin, fr ve de yerel ayarları için alt dizinler ekleyebilirsiniz.Bu dizinler gerekirse, Fransızca ve Almanca dizeleri ve dil paketlerini içerir.
Adım 2: product.xml bildiri dosyasını oluşturmak
product.xml adlı bir metin dosyası oluşturun.
product.xml dosyasına aşağıdaki XML kodunu ekleyin:Var olan XML kodunun üzerine yazmayın.
<Product xmlns="https://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="Microsoft.Sample.EULA"> <!-- Defines the list of files to be copied on build. --> <PackageFiles CopyAllPackageFiles="false"> <PackageFile Name="ConsentDialog.exe"/> </PackageFiles> <!-- Defines how to run the Setup package.--> <Commands > <Command PackageFile = "ConsentDialog.exe" Arguments=''> <ExitCodes> <ExitCode Value="0" Result="Success" /> <ExitCode Value="-1" Result="Fail" String="AU_Unaccepted" /> <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" /> </ExitCodes> </Command> </Commands> </Product>
Dosyayı UpdateConsentDialog bootstrapper dizinine kaydedin.
Adım 3: package.xml bildiri dosyasını ve yazılım lisans şartlarını oluşturmak
package.xml adlı bir metin dosyası oluşturun.
Yereli tanımlamak ve yazılım lisans koşullarını eklemek için package.xml dosyasına aşağıdaki XML kodunu ekleyin.Var olan XML kodunun üzerine yazmayın.
<Package xmlns="https://schemas.microsoft.com/developer/2004/01/bootstrapper" Name="DisplayName" Culture="Culture" LicenseAgreement="eula.rtf"> <PackageFiles> <PackageFile Name="eula.rtf"/> </PackageFiles> <!-- Defines a localizable string table for error messages. --> <Strings> <String Name="DisplayName">Update Consent Dialog</String> <String Name="Culture">en</String> <String Name="AU_Unaccepted">The automatic update agreement is not accepted.</String> <String Name="GeneralFailure">A failure occurred attempting to launch the setup.</String> </Strings> </Package>
Dosyayı UpdateConsentDialog bootstrapper dizini içindeki tr altdizinine kaydedin.
Yazılım lisans koşulları için eula.rtf adlı bir belge oluşturun.
[!NOT]
Yazılım lisans koşulları lisanslama, garantiler, yükümlülükler ve yerel kanunlar hakkında bilgi içermelidir.Bu dosyalar, bölgeye özgü olmalıdır, bu nedenle dosyanın MBCS veya UNICODE karakterlerini destekleyen bir biçimde kaydedildiğinden emin olun.Yazılım lisans koşullarının içeriği hakkında hukuk bölümünüze danışın.
Belgeyi UpdateConsentDialog bootstrapper dizini içindeki tr altdizinine kaydedin.
Gerekirse, her yerel yazılım lisans koşulu için yeni package.xml bildirim dosyası ve yeni bir eula.rtf belgesi oluşturun.Örneğin, fr ve de yerel ayarları için alt dizinler oluşturursanız, ayrı .xml bildirim dosyaları ve yazılım lisans koşulları oluşturabilir ve bunları fr ve de alt dizinlerine kaydedebilirsiniz.
Güncelleştirme Onayı Uygulamasını bir Önkoşul olarak Ayarlama
Visual Studio'da Güncelleştirme Onayı uygulamasını önkoşul olarak ayarlayabilirsiniz.
Güncelleştirme Onayı Uygulaması'nı bir önkoşul olarak ayarlamak için
Çözüm Gezgini'nde, dağıtmak istediğiniz uygulamanızın adını tıklatın.
Proje menüsünde, ProjectName Özellikler'i tıklayın.
Yayınlama sayfasını tıklatın ardından Önkoşullar seçeneğini tıklatın.
İzin Alma İletişim Kutusunu Güncelleştir'i seçin.
[!NOT]
Önkoşullar İletişim kutusunda İletişim İznini Güncelleştirme'yi görmek için Visual Studio'yu kapatıp yeniden açmanız gerekebilir.
Tamam düğmesini tıklatın.
Kurulum Programını Oluşturma ve Test etme
Güncelleştirme Onayı uygulamasını bir önkoşul olarak ayarladıktan sonra, uygulamanız için yükleyici ve önyükleyici oluşturabilirsiniz.
Kurulum programını Kabul ediyorum'u tıklamadan oluşturmak ve test etmek için
Çözüm Gezgini'nde, dağıtmak istediğiniz uygulamanızın adını tıklatın.
Proje menüsünde, ProjectName Özellikler'i tıklayın.
Yayınlama sayfasını tıklatın ardından Şimdi Yayınla seçeneğini tıklatın.
Yayımlama çıktısı otomatik olarak açılmazsa yayımlama çıktısına gidin.
Setup.exe programını çalıştırın.
Kurulum programı, İzin Alma İletişim Kutusunu Güncelle yazılım lisans sözleşmesini gösterir.
Yazılım lisansı sözleşmesini okuyun ve Kabul Ediyorum'u tıklatın.
İzin Alma İletişim Kutusunu Güncelleştir uygulaması görüntülenir ve aşağıdaki metni gösterir: Yüklemek üzere olduğunuz uygulama Web üzerindeki en son güncelleştirmeleri denetler."Kabul ediyorum" düğmesini tıklatarak, uygulamaya güncelleştirmeleri Internet üzerinden otomatik olarak denetlemesi için yetki verirsiniz.
Uygulamayı kapatın veya İptal seçeneğini tıklatın.
Uygulama bir hata gösterir: ApplicationNameiçin sistem bileşenlerini yüklerken bir hata oluştu.Tüm sistem bileşenleri başarıyla yüklenene kadar kurulum devam edemez.
Şu hata iletisini görüntülemek için Ayrıntılar seçeneğini tıklatın: Bileşen Güncelleştirme Onayı İletişim Kutusu şu hata iletisiyle başarısız oldu: "Otomatik güncelleştirme anlaşması kabul edilmedi." Aşağıdaki bileşenler yüklemeyi başaramadılar: - İzin Alma İletişim Kutusunu Güncelle
Kapat'ı tıklatın.
Kurulum programını Kabul ediyorum'u tıklayarak oluşturmak ve test etmek için
Çözüm Gezgini'nde, dağıtmak istediğiniz uygulamanızın adını tıklatın.
Proje menüsünde, ProjectName Özellikler'i tıklayın.
Yayınlama sayfasını tıklatın ardından Şimdi Yayınla seçeneğini tıklatın.
Yayımlama çıktısı otomatik olarak açılmazsa yayımlama çıktısına gidin.
Setup.exe programını çalıştırın.
Kurulum programı, İzin Alma İletişim Kutusunu Güncelle yazılım lisans sözleşmesini gösterir.
Yazılım lisansı sözleşmesini okuyun ve Kabul Ediyorum'u tıklatın.
İzin Alma İletişim Kutusunu Güncelleştir uygulaması görüntülenir ve aşağıdaki metni gösterir: Yüklemek üzere olduğunuz uygulama Web üzerindeki en son güncelleştirmeleri denetler."Kabul ediyorum" düğmesini tıklatarak, uygulamaya güncelleştirmeleri Internet üzerinden otomatik olarak denetlemesi için yetki verirsiniz.
Kabul Ediyorum seçeneğini ardından İlerle seçeneğini tıklatın.
Uygulama, yüklemeye başlar.
Uygulama Yükle iletişim kutusu görüntülenirse, Yükle'yi tıklatın.
Ayrıca bkz.
Görevler
Ürün Bildirimi Nasıl Oluşturulur
Paket Bildirimi Nasıl Oluşturulur