İzlenecek yol: Bir gizlilik istemiyle özel bir önyükleyici oluşturma

ClickOnce uygulamalarını, daha yeni dosya sürümleri ve derleme sürümleriyle derlemeler kullanılabilir olduğunda otomatik olarak güncelleştirilecek şekilde yapılandırabilirsiniz. Müşterilerinizin bu davranışı onayladığınızdan emin olmak için, onlara bir gizlilik istemi görüntüleyebilirsiniz. Ardından, uygulamaya otomatik olarak güncelleştirme izni verilip verilmeyeceğini seçebilirler. Uygulamanın otomatik olarak güncelleştirilmesine izin verilmiyorsa yüklenmez.

Not

Bilgisayarınız bu makaledeki Bazı Visual Studio kullanıcı arabirimi öğeleri için farklı adlar veya konumlar gösterebilir. Visual Studio'nun farklı bir sürümünü veya farklı ortam ayarlarını kullanıyor olabilirsiniz. Daha fazla bilgi için bkz . IDE'yi kişiselleştirme.

Gizlilik istemi görüntülemek için okuyucudan uygulama için otomatik güncelleştirmeleri onaylamasını isteyen bir uygulama oluşturun.

  1. Dosya menüsünde Yeni'nin üzerine gelin ve Proje'ye tıklayın.

  2. Yeni Proje iletişim kutusunda Windows'a ve ardından WindowsFormsUygulama'ya tıklayın.

  3. Ad için ConsentDialog yazın ve Tamam'a tıklayın.

  4. Tasarımcıda forma tıklayın.

  5. Özellikler penceresinde Text özelliğini Güncelleştirme Onayı İletişim Kutusu olarak değiştirin.

  6. Araç Kutusu'nda Tüm Windows Formları'nı genişletin ve bir Etiket denetimini forma sürükleyin.

  7. Tasarımcıda etiket denetimine tıklayın.

  8. Özellikler penceresinde, Görünüm altındaki Text özelliğini aşağıdaki şekilde değiştirin:

    Yüklemek üzere olduğunuz uygulama, Web'de en son güncelleştirmeleri denetler. "Kabul Ediyorum" seçeneğine tıklayarak, uygulamayı güncelleştirmeleri otomatik olarak İnternet'ten denetlemesi ve yüklemesi için yetkilendirilmiş olursunuz.

  9. Araç Kutusu'nda, bir Onay Kutusu denetimini formun ortasına sürükleyin.

  10. Özellikler penceresinde, Düzen altındaki Metin özelliğini Kabul Ediyorum olarak değiştirin.

  11. Araç Kutusu'nda, düğme denetimini formun sol alt bölümüne sürükleyin.

  12. Özellikler penceresinde, Düzen altındaki Metin özelliğini Devam Olarak değiştirin.

  13. Özellikler penceresinde, Tasarım altındaki (Ad) özelliğini ProceedButton olarak değiştirin.

  14. Araç Kutusu'nda, düğme denetimini formun sağ alt kısmına sürükleyin.

  15. Özellikler penceresinde, Düzen altındaki Metin özelliğini İptal olarak değiştirin.

  16. Özellikler penceresinde, Tasarım altındaki (Ad) özelliğini CancelButton olarak değiştirin.

  17. Tasarımcıda, CheckedChanged olay işleyicisini oluşturmak için Kabul Ediyorum onay kutusuna çift tıklayın.

  18. Form1 kod dosyasına CheckedChanged olay işleyicisi için aşağıdaki kodu ekleyin.

    private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        ProceedButton.Enabled = !ProceedButton.Enabled;
    }
    
  19. Devam Et düğmesini varsayılan olarak devre dışı bırakmak için sınıf oluşturucuyu güncelleştirin.

    public Form1()
    {
        InitializeComponent();
        ProceedButton.Enabled = false;
    }
    
  20. Form1 kod dosyasında, son kullanıcının çevrimiçi güncelleştirmeleri onayleyip onaylamadığını izlemek üzere boole değişkeni için aşağıdaki kodu ekleyin.

    public bool accepted = false;
    
  21. Tasarımcıda, Click olay işleyicisini oluşturmak için Devam Et düğmesine çift tıklayın.

  22. Form1 kod dosyasında, Devam Et düğmesinin Click olay işleyicisine aşağıdaki kodu ekleyin.

    private void ProceedButton_Click(object sender, EventArgs e)
    {
        if (ProceedButton.Enabled)
        {
            accepted = true;
            this.Close();
        }
    }
    
  23. Tasarımcıda İptal düğmesine çift tıklayarak Click olay işleyicisini oluşturun.

  24. Form1 kod dosyasında İptal düğmesinin Click olay işleyicisi için aşağıdaki kodu ekleyin.

    private void CancelButton_Click(object sender, EventArgs e)
    {
        this.Close();
    }
    
  25. Son kullanıcı çevrimiçi güncelleştirmeleri onaylamazsa, uygulamayı hata döndürecek şekilde güncelleştirin.

    Yalnızca Visual Basic geliştiricileri için:

    1. Çözüm Gezgini'da ConsentDialog'a tıklayın.

    2. Proje menüsünde Modül Ekle'ye ve ardından Ekle'ye tıklayın.

    3. Module1.vb kod 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
      
    4. Proje menüsünde ConsentDialog Özellikleri'ne ve ardından Uygulama sekmesine tıklayın.

    5. Uygulama çerçevesini etkinleştir seçeneğinin işaretini kaldırın.

    6. Başlangıç nesnesi açılan menüsünde Modül1'i seçin.

      Not

      Uygulama çerçevesinin devre dışı bırakılması görsel stiller, uygulama olayları, giriş ekranı, tek örnekli uygulama 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 aşağıdaki 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;
      }
      
  26. Derleme menüsünde BuildSolution'a tıklayın.

Özel önyükleyici paketini oluşturma

Gizlilik istemini son kullanıcılara göstermek için, Güncelleştirme Onayı İletişim Kutusu uygulaması için özel bir önyükleyici paketi oluşturabilir ve bunu tüm ClickOnce uygulamalarınıza önkoşul olarak ekleyebilirsiniz.

Bu yordamda, aşağıdaki belgeleri oluşturarak özel bir önyükleyici paketinin nasıl oluşturulacağı gösterilmektedir:

  • Önyükleyicinin içeriğini açıklayan bir product.xml bildirim dosyası.

  • Dizeler ve yazılım lisans koşulları gibi paketinizin yerelleştirmeye özgü yönlerini listelemek için bir package.xml bildirim dosyası.

  • Yazılım lisans koşulları için bir belge.

1. Adım: Önyükleyici dizini oluşturmak için

  1. %PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages içinde UpdateConsentDialog adlı bir dizin oluşturun.

    Not

    Bu klasörü oluşturmak için yönetici ayrıcalıklarına ihtiyacınız olabilir.

  2. UpdateConsentDialog dizininde en 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 dizelerini ve dil paketlerini içerir.

2. Adım: product.xml bildirim dosyasını oluşturmak için

  1. product.xml adlı bir metin dosyası oluşturun.

  2. product.xml dosyasına aşağıdaki XML kodunu ekleyin. Varolan XML kodunun üzerine yazmadığınızdan emin olun.

    <Product
      xmlns="http://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>
    
  3. Dosyayı UpdateConsentDialog önyükleyici dizinine kaydedin.

3. Adım: package.xml bildirim dosyasını ve yazılım lisans koşullarını oluşturmak için

  1. package.xml adlı bir metin dosyası oluşturun.

  2. package.xml dosyasına aşağıdaki XML kodunu ekleyerek yerel ayarı tanımlayın ve yazılım lisans koşullarını ekleyin. Varolan XML kodunun üzerine yazmadığınızdan emin olun.

    <Package
      xmlns="http://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>
    
  3. Dosyayı UpdateConsentDialog önyükleyici dizinindeki en alt dizinine kaydedin.

  4. 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 yasalar hakkında bilgi içermelidir. Bu dosyalar yerel ayara ö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üzle görüşün.

  5. Belgeyi UpdateConsentDialog önyükleyici dizinindeki en alt dizinine kaydedin.

  6. Gerekirse, her yerel ayar için yazılım lisans koşulları için yeni bir package.xml bildirim dosyası ve yeni bir eula.rtf belgesi oluşturun. Örneğin fr ve de yerel ayarları için alt dizinler oluşturduysanız ayrı package.xml bildirim dosyaları ve yazılım lisans koşulları oluşturun ve bunları fr ve de alt dizinlerine kaydedin.

Visual Studio'da Güncelleştirme Onayı uygulamasını önkoşul olarak ayarlayabilirsiniz.

  1. Çözüm Gezgini'de, dağıtmak istediğiniz uygulamanızın adına tıklayın.

  2. Proje menüsünde ProjectName Özellikleri'ne tıklayın.

  3. Yayımla sayfasına ve ardından Önkoşullar'a tıklayın.

  4. Onay İletişim Kutusunu Güncelleştir'i seçin.

    Not

    Önkoşullar İletişim Kutusunda Güncelleştirme Onayı İletişim Kutusunu görmek için Visual Studio'yu kapatıp yeniden açmanız gerekebilir.

  5. Tamam'a tıklayın.

Kurulum programını oluşturma ve test edin

Güncelleştirme Onayı uygulamasını önkoşul olarak ayarladıktan sonra, uygulamanız için yükleyiciyi ve önyükleyiciyi oluşturabilirsiniz.

Kabul ediyorum'a tıklamayarak Kurulum programını oluşturmak ve test etmek için

  1. Çözüm Gezgini'de, dağıtmak istediğiniz uygulamanızın adına tıklayın.

  2. Proje menüsünde ProjectName Özellikleri'ne tıklayın.

  3. Yayımla sayfasına tıklayın ve ardından Şimdi Yayımla'ya tıklayın.

  4. Yayımlama çıkışı otomatik olarak açılmazsa yayımlama çıkışına gidin.

  5. Setup.exe programını çalıştırın.

    Kurulum programı, Güncelleştirme Onayı İletişim Kutusu yazılım lisans sözleşmesini gösterir.

  6. Yazılım lisans sözleşmesini okuyun ve kabul et'e tıklayın.

    Güncelleştirme Onayı İletişim Kutusu uygulaması görüntülenir ve şu metni gösterir: Yüklemek üzere olduğunuz uygulama Web'de en son güncelleştirmeleri denetler. Kabul Ediyorum'a tıklayarak, uygulamayı güncelleştirmeleri İnternet'te otomatik olarak denetlemesi için yetkilendirilmiş olursunuz.

  7. Uygulamayı kapatın veya İptal'e tıklayın.

    Uygulama bir hata gösteriyor: ApplicationName için sistem bileşenleri yüklenirken bir hata oluştu. Tüm sistem bileşenleri başarıyla yüklenene kadar kurulum devam edemez.

  8. Şu hata iletisini göstermek için Ayrıntılar'a tıklayın: Bileşen Güncelleştirme Onayı İletişim Kutusu şu hata iletisiyle yüklenemedi: "Otomatik güncelleştirme sözleşmesi kabul edildi." Aşağıdaki bileşenler yüklenemedi: - Güncelleştirme Onayı İletişim Kutusu

  9. Kapat'a tıklayın.

Kabul ediyorum'a tıklayarak Kurulum programını oluşturmak ve test etmek için

  1. Çözüm Gezgini'de, dağıtmak istediğiniz uygulamanızın adına tıklayın.

  2. Proje menüsünde ProjectName Özellikleri'ne tıklayın.

  3. Yayımla sayfasına tıklayın ve ardından Şimdi Yayımla'ya tıklayın.

  4. Yayımlama çıkışı otomatik olarak açılmazsa yayımlama çıkışına gidin.

  5. Setup.exe programını çalıştırın.

    Kurulum programı, Güncelleştirme Onayı İletişim Kutusu yazılım lisans sözleşmesini gösterir.

  6. Yazılım lisans sözleşmesini okuyun ve kabul et'e tıklayın.

    Güncelleştirme Onayı İletişim Kutusu uygulaması görüntülenir ve şu metni gösterir: Yüklemek üzere olduğunuz uygulama Web'de en son güncelleştirmeleri denetler. Kabul Ediyorum'a tıklayarak, uygulamayı güncelleştirmeleri İnternet'te otomatik olarak denetlemesi için yetkilendirilmiş olursunuz.

  7. Kabul Ediyorum'a ve ardından Devam'a tıklayın.

    Uygulama yüklenmeye başlar.

  8. Uygulama Yükleme iletişim kutusu görüntülenirse Yükle'ye tıklayın.