Podrobné pokyny: Vytvoření vlastního zaváděcího nástroje pro zobrazení bezpečnostního dotazu
ClickOnce aplikace lze konfigurovat pro automatické aktualizace při sestavování s novějšími verzemi souborů a verzemi sestavení k dispozici. Chcete-li se ujistit, že vaši zákazníci souhlasí s tímto postupem, můžete zobrazit dotaz na osobní údaje. Tak se mohou rozhodnout, zda udělí oprávnění k automatickým aktualizacím. Pokud aplikaci nejsou povoleny automatické aktualizace, nebudou instalovány.
Poznámka
Ve vašem počítači se pro některé z prvků uživatelského rozhraní aplikace Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedena v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Visual Studio, nastavení.
Požadavky
Chcete-li dokončit tento návod, potřebujete následující:
- Visual Studio 2010
Vytvořit dialogové okno pro souhlas s aktualizacemi
Pro zobrazení dotazu na osobní údaje vytvořte aplikaci, která se čtenáře dotáže na souhlas s automatickými aktualizacemi pro aplikaci.
Pro vytvoření dialogového okna pro souhlas
V nabídce File (Soubor) přejděte na příkaz New (Nový) a klepněte na příkaz Project (Projekt).
V dialogovém okně Nový projekt klepněte na položku Windows a potom klepněte na tlačítko Aplikace Windows Forms.
Pro Název zadejte ConsentDialog a klepněte na tlačítko OK.
V designu klikněte na formulář.
V okně Vlastnosti změňte vlastnost Text na dialogové okno souhlasu s aktualizací.
V nabídce Panel nástrojů rozbalte All Windows Forms a přetáhněte prvek Popisek do formuláře.
V designu klepněte na ovládací panel prvku Popisek.
V panelu Vlastnosti změňte vlastnost Text v nabídce Vzhled na následující:
Aplikace, kterou se chystáte instalovat hledá nejnovější aktualizace na webu. Klepnutím na "Souhlasím" umožníte aplikaci vyhledat a instalovat aktualizace automaticky z internetu.
Z Panelu nástrojů přetáhněte ovládací prvek Zaškrtávací políčko na střed formuláře.
V panelu Vlastnosti změňte vlastnost Text v nabídce Vzhled na následující:
Z Panelu nástrojů přetáhnout ovládací prvek Tlačítko do levé dolní části formuláře.
V panelu Vlastnosti změňte vlastnost Text v nabídce Vzhled na následující:
V panelu Vlastnosti změňte vlastnost (Název) v nabídce Design na ProceedButton.
Z Panelu nástrojů přetáhněte ovládací prvek Tlačítko do pravé dolní části formuláře.
V panelu Vlastnosti změňte vlastnost Text v nabídce Vzhled na následující:
V panelu Vlastnosti změňte vlastnost (Název) v nabídce Design na CancelButton.
V designu poklepejte na políčko Souhlasím pro vygenerování CheckedChanged obslužné rutiny.
Ve zdrojovém souboru Form1 přidejte následující kód do CheckedChanged obslužné rutiny.
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; }
Upravte konstruktor třídy, aby se ve výchozím nastavení nezobrazovalo tlačítko Pokračovat.
Public Sub New() InitializeComponent() ProceedButton.Enabled = False End Sub
public Form1() { InitializeComponent(); ProceedButton.Enabled = false; }
Ve zdrojovém souboru Form1 přidejte následující kód pro logickou proměnnou ke sledování, jestli koncový uživatel souhlasí s online aktualizacemi.
Public accepted As Boolean = False
public bool accepted = false;
V designu poklepejte na Pokračovat pro vygenerování obslužné rutiny pro událost kliknutí.
Ve zdrojovém souboru Form1 přidejte následující kód pro obslužnou rutinu události kliknutí pro tlačítko Pokračovat.
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(); } }
V designu poklepejte na tlačítko Pokračovat pro vygenerování obslužné rutiny pro událost kliknutí.
Ve zdrojovém souboru Form1 přidejte následující kód pro obslužnou rutinu události kliknutí pro tlačítko Pokračovat.
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(); }
Upravte aplikaci, aby vracela chybu, pokud koncový uživatel nesouhlasí s aktualizacemi online.
Pouze pro vývojáře Visual Basic:
V panelu Průzkumník řešení klikněte na ConsentDialog.
V nabídce Projekt klepněte na tlačítko Přidání modulu a potom klepněte na tlačítko Přidat.
Ve zdrojovém souboru 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 Projekt klepněte na tlačítko Vlastnosti ConsentDialog a potom klepněte na záložku Aplikace.
Zrušte zaškrtnutí políčka Povolit rámci aplikace.
V rozevírací nabídce Spouštěcí objekt označte Module1.
Poznámka
Zakázání frameworku aplikace zakáže funkce jako systém Windows XP vizuální styly, události aplikací, úvodní obrazovka, aplikace s jednou instancí a další. Další informace naleznete v tématu Stránka aplikace Návrhář projektu (@).
Pouze pro vývojáře Visual C#:
Otevřete zdrojový soubor 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 Build (Sestavit) klepněte na příkaz Build Solution (Sestavit řešení).
Vytváření vlastního balíčku zaváděcího nástroje
K zobrazení dotazu na osobní údaje koncovým uživatelům můžete vytvořit vlastní balíček zaváděcího nástroje pro dialog souhlasu s aktualizací aplikace a zahrnout ho jako předpoklad pro všechny aplikace ClickOnce.
Tento procedura ukazuje, jak vytvořit vlastní balíček zaváděcího nástroje vytvořením následujících dokumentů:
Soubor manifestu product.xml k popisu obsahu zaváděcího nástroje.
Soubor manifestu package.xml pro výčet specifických aspektů lokalizace vašeho balíčku, jako například řetězců a licenčních podmínek.
Dokument pro licenční podmínky.
Krok 1: Pro vytvoření adresáře zaváděcího nástroje
Vytvořte adresář s názvem UpdateConsentDialog v %PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages.
Poznámka
Pravděpodobně bude třeba oprávnění správce k vytvoření této složky.
V adresáři UpdateConsentDialog vytvořte podadresář s názvem cs.
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. Tyto adresáře mají obsahovat řetězce francouzštiny a němčiny a jazykové sady, pro případ potřeby.
Krok 2: Pro vytvoření souboru manifestu product.xml
Vytvořte textový soubor product.xml.
Do souboru product.xml přidejte následující kód. Dejte pozor, abyste nepřepsali stávající zálohy.
<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>
Uložte soubor do adresáře UpdateConsentDialog zaváděcího nástroje.
Krok 3: Pro vytvoření souboru manifestu package.xml a licenčních podmínek
Vytvořte textový soubor s názvem package.xml.
V souboru package.xml přidejte následující kód definující národní prostředí a přiložte licenční podmínky. Dejte pozor, abyste nepřepsali stávající zálohy.
<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>
Uložte soubor do dílčího en adresáře v adresáři zaváděcího nástroje UpdateConsentDialog.
Vytvořte dokument s názvem eula.rtf pro licenční podmínky.
Poznámka
Licenční podmínky by měly obsahovat informace o licenci, záruce, závazcích a místních právních předpisech. Tyto soubory by měl být specifické pro dané národní prostředí, proto se ujistěte, že soubor je uložen ve formátu, který podporuje znaky znakové sady MBCS nebo UNICODE. Obsah licenčních podmínek konzultujte se svým právním oddělením.
Uložte soubor do dílčího en adresáře v adresáři zaváděcího nástroje UpdateConsentDialog.
V případě potřeby vytvořte nový soubor manifestu package.xml a nový dokument eula.rtf licenčních podmínek pro každé národní prostředí. Například pokud jste vytvořili pro národní prostředí fr a de podadresáře, vytvořte samostatné soubory manifestu package.xml a licenční podmínky a uložte je do podadresáře fr a de.
Nastavte aplikaci souhlasu s aktualizací
V aplikaci Visual Studio můžete předběžně nastavit aplikaci souhlasu s aktualizací.
Pro nastavení aplikace souhlasu s aktualizací
V panelu Průzkumník řešení klepněte na název aplikace, které chcete nasadit.
V nabídce Projekt klepněte na příkaz JménoProjektu Vlastnosti.
Klepněte na tlačítko Publikovat stránku a potom klepněte na tlačítko Požadavky.
Označte Dialogové okno aktualizace.
Poznámka
Pravděpodobně bude nutné zavřít a znovu spustit aplikaci Visual Studio pro zobrazení dialogu pro souhlas s aktualizací v dialogovém okně požadavků.
Klepněte na tlačítko OK.
Vytvoření a testování instalačního programu
Po předběžném nastavení aplikace souhlasu s aktualizací můžete generovat instalační program a zaváděcí nástroj pro Vaši aplikaci.
Pro vytvoření a test instalačního programu bez klepnutí na Souhlasím
V panelu Průzkumník řešení klepněte na název aplikace, které chcete nasadit.
V nabídce Projekt klepněte na příkaz JménoProjektu Vlastnosti.
Klepněte na Publikovat stránku a pak klepněte na Poblikovat teď.
Pokud se výstup publikování automaticky neotevře, přejděte do výstupu publikovat.
Spusťte instalační program Setup.exe.
Instalační program zobrazí licenční smlouvu dialogového okna souhlasu s aktualizací.
Přečtěte si licenční smlouvu a klepněte na tlačítko Přijmout.
Dialogové okno souhlasu s aktualizací aplikace se objeví a zobrazí následující text: Aplikace, kterou se chystáte instalovat hledá nejnovější aktualizace na webu. Klepnutím na "Souhlasím" umožníte aplikaci vyhledat a instalovat aktualizace automaticky z internetu.
Ukončete aplikaci nebo klepněte na tlačítko Storno.
Aplikace zobrazí chybu: Došlo k chybě při instalaci systémových součástí pro ApplicationName. Instalační program nemůže pokračovat, dokud nebudou úspěšně nainstalovány všechny systémové součásti.
Klepnutím na tlačítko Podrobnosti zobrazíte následující chybovou zprávu: Komponentě dialog souhlasu s aktualizací se nezdařila instalace s následující chybovou zprávou: "Automatické aktualizace nejsou povoleny." Nezdařilo se nainstalovat následující součásti: -Dialogové okno souhlasu s aktualizací
Klepněte na tlačítko Zavřít.
Pro vytvoření a testování instalačního programu klepnutím na Souhlasím
V panelu Průzkumník řešení klepněte na název aplikace, které chcete nasadit.
V nabídce Projekt klepněte na příkaz JménoProjektu Vlastnosti.
Klepněte na Publikovat stránku a pak klepněte na Poblikovat teď.
Pokud se výstup publikování automaticky neotevře, přejděte do výstupu publikovat.
Spusťte instalační program Setup.exe.
Instalační program zobrazí licenční smlouvu dialogového okna souhlasu s aktualizací.
Přečtěte si licenční smlouvu a klepněte na tlačítko Přijmout.
Dialogové okno souhlasu s aktualizací aplikace se objeví a zobrazí následující text: Aplikace, kterou se chystáte instalovat hledá nejnovější aktualizace na webu. Klepnutím na "Souhlasím" umožníte aplikaci vyhledat a instalovat aktualizace automaticky z internetu.
Klepněte na tlačítko Souhlasím a potom klepněte na tlačítko Pokračovat.
Aplikace se instaluje.
Pokud se zobrazí dialogové okno instalace, klepněte na tlačítko Instalovat.
Viz také
Úkoly
Postupy: Vytvoření manifestu produktu
Postupy: Vytvořit manifest balíčku
Odkaz
Referenční schéma balíčku a produktu