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).
Dialogové okno Vytvořit souhlas s aktualizací
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.
Dialogové okno Pro vytvoření souhlasu
V nabídce Soubor přejděte na příkaz Nový a klepněte na tlačítko Projekt.
V dialogovém okně Nový projekt klepněte na tlačítko Windows a potom klepněte na tlačítko WindowsFormsApplication.
Jako název zadejte ConsentDialog a klepněte na tlačítko OK.
V návrháři klikněte na formulář.
V okně Vlastnosti změňte vlastnost Text na aktualizovat dialogové okno souhlasu.
V panelu nástrojů rozbalte položku Všechny model Windows Forms a přetáhněte ovládací prvek Popisek do formuláře.
V návrháři klikněte na ovládací prvek popisku.
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.
V sadě nástrojů přetáhněte ovládací prvek Zaškrtávací políčko doprostřed formuláře.
V okně Vlastnosti změňte vlastnost Text v části Rozložení na Souhlasím.
V sadě nástrojů přetáhněte ovládací prvek Tlačítko do levého dolního rohu formuláře.
V okně Vlastnosti změňte vlastnost Text v části Rozložení na Pokračovat.
V okně Vlastnosti změňte vlastnost (Name) v části Návrh na ProceedButton.
V sadě nástrojů přetáhněte ovládací prvek Tlačítko do pravého dolního rohu formuláře.
V okně Vlastnosti změňte vlastnost Text v části Rozložení na Zrušit.
V okně Vlastnosti změňte vlastnost (Name) v části Návrh na CancelButton.
V návrháři poklikejte na zaškrtávací políčko Souhlasím a vygenerujte obslužnou rutinu checkedChanged události.
Do souboru kódu Form1 přidejte následující kód pro CheckedChanged obslužné rutiny události.
Aktualizujte konstruktor třídy tak, aby ve výchozím nastavení zakázal tlačítko Pokračovat .
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.
V návrháři poklikejte na tlačítko Pokračovat a vygenerujte obslužnou rutinu události Click.
Do souboru kódu Form1 přidejte následující kód do obslužné rutiny události Click pro tlačítko Pokračovat .
V návrháři poklikáním na tlačítko Storno vygenerujte obslužnou rutinu události Click.
Do souboru kódu Form1 přidejte následující kód pro obslužnou rutinu události Click pro tlačítko Storno .
Aktualizujte aplikaci tak, aby vrátila chybu, pokud koncový uživatel nesouhlasí s online aktualizacemi.
Pouze pro vývojáře v jazyce Visual Basic:
V Průzkumník řešení klepněte na tlačítko ConsentDialog.
V nabídce Projekt klepněte na tlačítko Přidat modul a potom klepněte na tlačítko Přidat.
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
V nabídce Projektu klepněte na příkaz ConsentDialog Vlastnosti a potom klepněte na kartu Aplikace.
Zrušte zaškrtnutí políčka Povolit architekturu aplikace.
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; }
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
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.
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
Vytvořte textový soubor s názvem product.xml.
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>
Uložte soubor do adresáře bootstrapperu UpdateConsentDialog.
Krok 3: Vytvoření souboru manifestu package.xml a licenčních podmínek pro software
Vytvořte textový soubor s názvem package.xml.
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>
Uložte soubor do podadresáře en v adresáři bootstrapperu UpdateConsentDialog.
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.
Uložte dokument do podadresáře en v adresáři bootstrapperu UpdateConsentDialog .
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ářů.
Nastavení aplikace pro vyjádření souhlasu s aktualizací jako předpokladu
V sadě Visual Studio můžete aplikaci Souhlas s aktualizací nastavit jako předpoklad.
Nastavení aplikace pro vyjádření souhlasu s aktualizací jako předpokladu
V Průzkumník řešení klikněte na název aplikace, kterou chcete nasadit.
V nabídce Projekt klikněte na Vlastnosti ProjectName.
Klikněte na stránku Publikovat a potom klikněte na Požadované součásti.
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í.
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
V Průzkumník řešení klikněte na název aplikace, kterou chcete nasadit.
V nabídce Projekt klikněte na Vlastnosti ProjectName.
Klikněte na stránku Publikovat a potom klikněte na Publikovat nyní.
Pokud se výstup publikování neotevře automaticky, přejděte na výstup publikování.
Spusťte program Setup.exe.
Instalační program zobrazuje licenční smlouvu k softwaru s dialogovým oknem souhlasu s aktualizací.
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.
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.
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
Klepněte na tlačítko Zavřít.
Chcete-li vytvořit a otestovat instalační program kliknutím na souhlasím
V Průzkumník řešení klikněte na název aplikace, kterou chcete nasadit.
V nabídce Projekt klikněte na Vlastnosti ProjectName.
Klikněte na stránku Publikovat a potom klikněte na Publikovat nyní.
Pokud se výstup publikování neotevře automaticky, přejděte na výstup publikování.
Spusťte program Setup.exe.
Instalační program zobrazuje licenční smlouvu k softwaru s dialogovým oknem souhlasu s aktualizací.
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.
Klepněte na tlačítko Souhlasím a potom klepněte na tlačítko Pokračovat.
Aplikace se začne instalovat.
Pokud se zobrazí dialogové okno Instalace aplikace, klepněte na tlačítko Instalovat.