Sdílet prostřednictvím


Návod: Vytvoření vlastního bootstrapperu s dotazem souvisejícím se soukromím

Aplikace ClickOnce můžete nakonfigurovat tak, aby se automaticky aktualizovaly, když budou k dispozici sestavení s novějšími verzemi souborů a verzemi sestavení. Pokud chcete zajistit, aby vaši zákazníci s tímto chováním souhlasili, můžete jim zobrazit výzvu k ochraně osobních údajů. Pak si můžou zvolit, jestli má aplikace udělit oprávnění k automatické aktualizaci. Pokud aplikace není povolena automatická aktualizace, nenainstaluje se.

Poznámka:

V počítači se můžou zobrazovat různé názvy nebo umístění některých prvků uživatelského rozhraní sady Visual Studio v tomto článku. Možná používáte jinou edici sady Visual Studio nebo jiné nastavení prostředí. Další informace naleznete v tématu Přizpůsobení integrovaného vývojového prostředí (IDE).

Pokud chcete zobrazit výzvu k ochraně osobních údajů, vytvořte aplikaci, která požádá čtenáře, aby souhlasila s automatickými aktualizacemi aplikace.

  1. V nabídce Soubor přejděte na příkaz Nový a klepněte na tlačítko Projekt.

  2. V dialogovém okně Nový projekt klepněte na tlačítko Windows a potom klepněte na tlačítko WindowsFormsApplication.

  3. Jako název zadejte ConsentDialog a klepněte na tlačítko OK.

  4. V návrháři klikněte na formulář.

  5. V okně Vlastnosti změňte vlastnost Text na aktualizovat dialogové okno souhlasu.

  6. V panelu nástrojů rozbalte položku Všechny model Windows Forms a přetáhněte ovládací prvek Popisek do formuláře.

  7. V návrháři klikněte na ovládací prvek popisku.

  8. V okně Vlastnosti změňte vlastnost Text v části Vzhled na následující:

    Aplikace, kterou chystáte nainstalovat, kontroluje nejnovější aktualizace na webu. Kliknutím na "Souhlasím" autorizujete aplikaci, aby automaticky zkontrolovala a nainstalovala aktualizace z internetu.

  9. V sadě nástrojů přetáhněte ovládací prvek Zaškrtávací políčko doprostřed formuláře.

  10. V okně Vlastnosti změňte vlastnost Text v části Rozložení na Souhlasím.

  11. V sadě nástrojů přetáhněte ovládací prvek Tlačítko do levého dolního rohu formuláře.

  12. V okně Vlastnosti změňte vlastnost Text v části Rozložení na Pokračovat.

  13. V okně Vlastnosti změňte vlastnost (Name) v části Návrh na ProceedButton.

  14. V sadě nástrojů přetáhněte ovládací prvek Tlačítko do pravého dolního rohu formuláře.

  15. V okně Vlastnosti změňte vlastnost Text v části Rozložení na Zrušit.

  16. V okně Vlastnosti změňte vlastnost (Name) v části Návrh na CancelButton.

  17. V návrháři poklikejte na zaškrtávací políčko Souhlasím a vygenerujte obslužnou rutinu checkedChanged události.

  18. Do souboru kódu Form1 přidejte následující kód pro CheckedChanged obslužné rutiny události.

    private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        ProceedButton.Enabled = !ProceedButton.Enabled;
    }
    
  19. Aktualizujte konstruktor třídy tak, aby ve výchozím nastavení zakázal tlačítko Pokračovat .

    public Form1()
    {
        InitializeComponent();
        ProceedButton.Enabled = false;
    }
    
  20. Do souboru kódu Form1 přidejte následující kód pro logickou proměnnou, která bude sledovat, jestli koncový uživatel souhlasil s online aktualizacemi.

    public bool accepted = false;
    
  21. V návrháři poklikejte na tlačítko Pokračovat a vygenerujte obslužnou rutinu události Click.

  22. Do souboru kódu Form1 přidejte následující kód do obslužné rutiny události Click pro tlačítko Pokračovat .

    private void ProceedButton_Click(object sender, EventArgs e)
    {
        if (ProceedButton.Enabled)
        {
            accepted = true;
            this.Close();
        }
    }
    
  23. V návrháři poklikáním na tlačítko Storno vygenerujte obslužnou rutinu události Click.

  24. Do souboru kódu Form1 přidejte následující kód pro obslužnou rutinu události Click pro tlačítko Storno .

    private void CancelButton_Click(object sender, EventArgs e)
    {
        this.Close();
    }
    
  25. Aktualizujte aplikaci tak, aby vrátila chybu, pokud koncový uživatel nesouhlasí s online aktualizacemi.

    Pouze pro vývojáře v jazyce Visual Basic:

    1. V Průzkumník řešení klepněte na tlačítko ConsentDialog.

    2. V nabídce Projekt klepněte na tlačítko Přidat modul a potom klepněte na tlačítko Přidat.

    3. Do souboru kódu Module1.vb přidejte následující kód.

      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. V nabídce Projektu klepněte na příkaz ConsentDialog Vlastnosti a potom klepněte na kartu Aplikace.

    5. Zrušte zaškrtnutí políčka Povolit architekturu aplikace.

    6. V rozevírací nabídce Spouštěcí objekt vyberte Module1.

      Poznámka:

      Zakázání architektury aplikace zakáže funkce, jako jsou vizuální styly, události aplikace, úvodní obrazovka, aplikace s jednou instancí a další. Další informace naleznete v tématu Stránka aplikace, Návrhář projektu (Visual Basic).

      Pouze pro vývojáře v jazyce Visual C#:

      Otevřete soubor kódu Program.cs a přidejte následující kód.

      static int Main()
      {
          Application.EnableVisualStyles();
          Application.SetCompatibleTextRenderingDefault(false);
          Form1 f = new Form1();
          Application.Run(f);
          if (!f.accepted)
              return -1;
          else
              return 0;
      }
      
  26. V nabídce Sestavení klikněte na BuildSolution.

Vytvoření vlastního balíčku bootstrapperu

Pokud chcete koncovým uživatelům zobrazit výzvu k ochraně osobních údajů, můžete vytvořit vlastní balíček bootstrapperu pro aplikaci Dialogové okno souhlasu s aktualizací a zahrnout ho jako předpoklad ve všech aplikacích ClickOnce.

Tento postup ukazuje, jak vytvořit vlastní balíček bootstrapperu vytvořením následujících dokumentů:

  • Soubor manifestu product.xml popisující obsah bootstrapperu.

  • Soubor manifestu package.xml k výpisu lokalizačních aspektů balíčku, jako jsou řetězce a licenční podmínky pro software.

  • Dokument pro licenční podmínky pro software.

Krok 1: Vytvoření adresáře bootstrapperu

  1. Ve složce %PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages vytvořte adresář s názvem UpdateConsentDialog.

    Poznámka:

    K vytvoření této složky možná budete potřebovat oprávnění správce.

  2. V adresáři UpdateConsentDialog vytvořte podadresář s názvem en.

    Poznámka:

    Vytvořte nový adresář pro každé národní prostředí. Můžete například přidat podadresáře pro národní prostředí fr a de locales. Tyto adresáře by v případě potřeby obsahovaly francouzské a německé řetězce a jazykové sady.

Krok 2: Vytvoření souboru manifestu product.xml

  1. Vytvořte textový soubor s názvem product.xml.

  2. Do souboru product.xml přidejte následující kód XML. Ujistěte se, že nepřepíšete existující kód XML.

    <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. Uložte soubor do adresáře bootstrapperu UpdateConsentDialog.

Krok 3: Vytvoření souboru manifestu package.xml a licenčních podmínek pro software

  1. Vytvořte textový soubor s názvem package.xml.

  2. Do souboru package.xml přidejte následující kód XML, který definuje národní prostředí a zahrne licenční podmínky pro software. Ujistěte se, že nepřepíšete existující kód XML.

    <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. Uložte soubor do podadresáře en v adresáři bootstrapperu UpdateConsentDialog.

  4. Vytvořte dokument s názvem eula.rtf pro licenční podmínky pro software.

    Poznámka:

    Licenční podmínky pro software by měly obsahovat informace o licencování, zárukách, pasivech a místních zákonech. Tyto soubory by měly být specifické pro národní prostředí, proto se ujistěte, že je soubor uložený ve formátu, který podporuje znaky MBCS nebo UNICODE. Přečtěte si právní oddělení o obsahu licenčních podmínek pro software.

  5. Uložte dokument do podadresáře en v adresáři bootstrapperu UpdateConsentDialog .

  6. V případě potřeby vytvořte nový soubor manifestu package.xml a nový dokument eula.rtf licenčních podmínek pro software pro každé národní prostředí. Pokud jste například vytvořili podadresáře pro národní prostředí fr a de locales, vytvořte samostatné soubory manifestu package.xml a licenční podmínky pro software a uložte je do podadresářů.

V sadě Visual Studio můžete aplikaci Souhlas s aktualizací nastavit jako předpoklad.

  1. V Průzkumník řešení klikněte na název aplikace, kterou chcete nasadit.

  2. V nabídce Projekt klikněte na Vlastnosti ProjectName.

  3. Klikněte na stránku Publikovat a potom klikněte na Požadované součásti.

  4. Vyberte dialogové okno Aktualizovat souhlas.

    Poznámka:

    Možná budete muset visual Studio zavřít a znovu otevřít, aby se v dialogovém okně Požadavky zobrazilo dialogové okno Souhlas s aktualizací.

  5. Klikněte na OK.

Vytvoření a otestování instalačního programu

Po nastavení aplikace Souhlas aktualizace jako předpokladu můžete vygenerovat instalační program a bootstrapper pro vaši aplikaci.

Chcete-li vytvořit a otestovat instalační program kliknutím na souhlasím

  1. V Průzkumník řešení klikněte na název aplikace, kterou chcete nasadit.

  2. V nabídce Projekt klikněte na Vlastnosti ProjectName.

  3. Klikněte na stránku Publikovat a potom klikněte na Publikovat nyní.

  4. Pokud se výstup publikování neotevře automaticky, přejděte na výstup publikování.

  5. Spusťte program Setup.exe.

    Instalační program zobrazuje licenční smlouvu k softwaru s dialogovým oknem souhlasu s aktualizací.

  6. Přečtěte si licenční smlouvu se softwarem a potom klikněte na Přijmout.

    Zobrazí se aplikace Pro vyjádření souhlasu s aktualizací a zobrazí se následující text: Aplikace, kterou chystáte nainstalovat, hledá nejnovější aktualizace na webu. Kliknutím na I Agree (Souhlasím) autorizujete aplikaci tak, aby automaticky kontrolovat aktualizace na internetu.

  7. Zavřete aplikaci nebo klikněte na tlačítko Storno.

    Aplikace zobrazuje chybu: Při instalaci systémových komponent pro ApplicationName došlo k chybě. Instalační program nemůže pokračovat, dokud nebudou úspěšně nainstalovány všechny systémové součásti.

  8. Kliknutím na tlačítko Podrobnosti zobrazíte následující chybovou zprávu: Dialogové okno souhlasu aktualizace komponenty se nepodařilo nainstalovat s následující chybovou zprávou: Smlouva o automatické aktualizaci není přijata. Instalaci následujících komponent se nezdařilo: – dialogové okno souhlasu aktualizace

  9. Klepněte na tlačítko Zavřít.

Chcete-li vytvořit a otestovat instalační program kliknutím na souhlasím

  1. V Průzkumník řešení klikněte na název aplikace, kterou chcete nasadit.

  2. V nabídce Projekt klikněte na Vlastnosti ProjectName.

  3. Klikněte na stránku Publikovat a potom klikněte na Publikovat nyní.

  4. Pokud se výstup publikování neotevře automaticky, přejděte na výstup publikování.

  5. Spusťte program Setup.exe.

    Instalační program zobrazuje licenční smlouvu k softwaru s dialogovým oknem souhlasu s aktualizací.

  6. Přečtěte si licenční smlouvu se softwarem a potom klikněte na Přijmout.

    Zobrazí se aplikace Pro vyjádření souhlasu s aktualizací a zobrazí se následující text: Aplikace, kterou chystáte nainstalovat, hledá nejnovější aktualizace na webu. Kliknutím na I Agree (Souhlasím) autorizujete aplikaci tak, aby automaticky kontrolovat aktualizace na internetu.

  7. Klepněte na tlačítko Souhlasím a potom klepněte na tlačítko Pokračovat.

    Aplikace se začne instalovat.

  8. Pokud se zobrazí dialogové okno Instalace aplikace, klepněte na tlačítko Instalovat.