Sdílet prostřednictvím


Výběr strategie aktualizace ClickOnce

Aplikace ClickOnce může poskytovat automatické aktualizace aplikace.Aplikace ClickOnce pravidelně čte soubor manifestu nasazení, aby zjistila, zda jsou pro aplikaci k dispozici aktualizace.Pokud je k dispozici nová verze aplikace, je stažena a spuštěna.Z důvodu efektivity budou staženy pouze soubory, které byly změněny.

Při navrhování aplikace ClickOnce je nutné určit strategii, kterou bude aplikace používat pro kontrolu dostupných aktualizací.Můžete použít tři základní strategie: kontrolu aktualizací při spuštění aplikace, kontrolu aktualizací po spuštění aplikace (spuštěno jako vlákno na pozadí) nebo poskytnutí uživatelského rozhraní pro aktualizace.

Kromě toho můžete určit, jak často bude aplikace aktualizace vyhledávat, a aktualizace můžete nastavit jako povinné.

[!POZNÁMKA]

Aktualizace aplikace vyžadují připojení k síti.Pokud není k dispozici síťové připojení, bude aplikace spuštěna bez kontroly aktualizací, bez ohledu na vybranou strategii aktualizace.

[!POZNÁMKA]

Při každé kontrole aktualizací v rozhraní .NET Framework 2.0 a .NET Framework 3.0 před spuštěním, po spuštění nebo pomocí rozhraní System.Deployment.Application musíte do manifestu nasazení zadat poskytovatele deploymentProvider.Prvek deploymentProvider v sadě Visual Studio odpovídá poli Umístění aktualizace v dialogovém okně Aktualizace na kartě Publikovat.Toto pravidlo je v rozhraní .NET Framework 3.5 volné.Další informace naleznete v tématu Nasazování aplikací ClickOnce pro testovací a produkční servery bez opětovného podepsání.

Kontrola aktualizací po spuštění aplikace

Pomocí této strategie se aplikace pokusí po spuštění vyhledat a přečíst soubor manifestu nasazení na pozadí.Pokud je k dispozici aktualizace, bude při dalším spuštění aplikace uživatel vyzván ke stažení a instalaci aktualizace.

Tato strategie je nejvhodnější pro síťová připojení s nízkou šířkou pásma nebo v případě větších aplikací, které mohou vyžadovat dlouhé stahování.

Chcete-li povolit tuto strategii aktualizace, klikněte na možnost Po spuštění aplikace v oddílu Vyberte prosím, kdy by měla aplikace vyhledávat aktualizace v dialogovém okně Aktualizace aplikace.Poté v oddílu Zadejte prosím, jak často by měla aplikace provádět aktualizace zadejte interval aktualizace.

Jedná se o stejný postup jako v případě změny prvku Aktualizace v manifestu nasazení následujícím způsobem:

   <!-- When to check for updates -->
   <subscription>
      <update>
         <expiration maximumAge="6" unit="hours" />
      </update>
   </subscription>

Kontrola aktualizací před spuštěním aplikace

Výchozí strategií je vyhledání a přečtení souboru manifestu nasazení před spuštěním aplikace.Pomocí této strategie se aplikace pokusí vyhledat a přečíst soubor manifestu nasazení pokaždé, kdy uživatel spustí aplikaci.Pokud je k dispozici aktualizace, bude stažena a spuštěna; v opačném případě bude spuštěna stávající verze aplikace.

Tato strategie je nejvhodnější pro síťová připojení s velkou šířkou pásma; zpoždění při spouštění aplikace může být v případě připojení s nízkou šířkou pásma nepřijatelně dlouhé.

Chcete-li povolit tuto strategii aktualizace, klikněte v oddílu Vyberte prosím, kdy by měla aplikace vyhledávat aktualizace v dialogovém okně Aktualizace aplikace na možnost Před spuštěním aplikace.

Jedná se o stejný postup jako v případě změny prvku Aktualizace v manifestu nasazení následujícím způsobem:

   <!-- When to check for updates -->
   <subscription>
      <update>
         <beforeApplicationStartup />
      </update>
   </subscription>

Nastavení povinných aktualizací

Mohou nastat situace, kdy požadujete, aby uživatelé spouštěli aktualizovanou verzi aplikace.Například můžete provést změnu externího prostředku, jako jsou webové služby, které by omezily správnou funkčnost starší verze aplikace.V tomto případě budete pravděpodobně chtít nastavit aktualizaci jako povinnou a zabránit uživatelům ve spouštění starší verze.

[!POZNÁMKA]

Ačkoli můžete aktualizace vyžadovat prostřednictvím jiných strategií pro aktualizace, je zaškrtnutí možnosti Před spuštěním aplikace jediným způsobem, jak můžete zamezit spuštění starší verze.Pokud je při spuštění zjištěna povinná aktualizace, musí uživatel aktualizaci přijmout, nebo musí aplikaci ukončit.

Chcete-li aktualizaci označit jako povinnou, klikněte v dialogovém okně Aktualizace aplikace na možnost Zadat minimální požadovanou verzi této aplikace a poté zadejte verzi publikování (Hlavní, Vedlejší, Sestavení, Revize), čímž zadáte nejnižší číslo verze aplikace, kterou lze nainstalovat.

Jedná se o stejné nastavení jako v případě atributu minimumRequiredVersion prvku Nasazení v manifestu nasazení; například:

   <deployment install="true" minimumRequiredVersion="1.0.0.0">

Určení intervalů aktualizace

Můžete také určit, jak často bude aplikace ověřovat aktualizace.Chcete-li toto nastavení provést, zadejte, aby aplikace vyhledávala aktualizace po spuštění, jak je popsáno v oddílu „Kontrola aktualizací po spuštění aplikace“ výše v tomto tématu.

Chcete-li určit interval aktualizace, nastavte v dialogovém okně Aktualizace aplikace vlastnosti Zadejte prosím, jak často by měla aplikace provádět aktualizace.

Jedná se o stejné nastavení jako v případě atributů maximumAge a unit prvku Aktualizace v manifestu nasazení.

Kontrolu můžete provádět například při každém spuštění aplikace, nebo jedenkrát za týden, nebo jednou za měsíc.Pokud v určený čas není k dispozici síťové připojení, provádí se kontrola aktualizace při příštím spuštění aplikace.

Poskytování uživatelského rozhraní pro aktualizace

Při používání této strategie poskytne vývojář aplikace uživatelské rozhraní, které umožňuje uživateli zvolit, kdy nebo jak často bude aplikace vyhledávat aktualizace.Můžete například vytvořit příkaz „Zkontrolovat aktualizace nyní“ nebo dialogové okno „Nastavení aktualizací“ s možnostmi pro různé intervaly aktualizací.Rozhraní API nasazení ClickOnce poskytují rámec pro programování vlastního uživatelského rozhraní aktualizací.Další informace naleznete v oboru názvů System.Deployment.Application.

Pokud aplikace používá rozhraní API nasazení pro řízení vlastní logiky aktualizací, měli byste zablokovat kontrolu aktualizací podle postupu popsaného v části „Blokování kontroly aktualizací“ v následujícím oddílu.

Tato strategie funguje nejlépe tehdy, pokud požadujete různé strategie aktualizací pro různé uživatele.

Blokování kontroly aktualizací

Kontrolu aktualizací lze také kompletně zrušit.Budete například pracovat s jednoduchou aplikací, která nebude nikdy aktualizována, budete však chtít využívat výhod snadné instalace pomocí nasazení ClickOnce.

Pokud aplikace používá implementaci rozhraní API, měli byste rovněž zablokovat vlastní aktualizace v rámci této aplikace; viz oddíl „Poskytování uživatelského rozhraní pro aktualizace“ výše v tomto tématu.

Chcete-li blokovat kontrolu aktualizací, zrušte označení zaškrtávacího políčka Aplikace by měla vyhledávat aktualizace v dialogovém okně Aktualizace aplikace.

Kontrolu aktualizací zablokujete také odebráním značky <Subscription> z manifestu nasazení.

Zvýšení úrovně oprávnění a aktualizace

Pokud nová verze aplikace ClickOnce vyžaduje pro spuštění vyšší úroveň důvěryhodnosti než předchozí verze, aplikace ClickOnce se uživatele dotáže, zda chce aplikaci udělit tuto vyšší úroveň důvěryhodnosti.Pokud uživatel odmítne udělit vyšší úroveň důvěryhodnosti, nebude aktualizace nainstalována.ClickOnce vyzve uživatele k instalaci aplikace znovu při dalším restartování.Pokud uživatel v tomto kroku odmítne udělit vyšší úroveň důvěryhodnosti a aktualizace není označena jako povinná, bude spuštěna starší verze aplikace.Pokud je však aktualizace vyžadována, aplikace se nespustí, dokud uživatel nepřijme vyšší úroveň důvěryhodnosti.

Pokud použijete nasazení důvěryhodné aplikace, nebude tato výzva týkající se úrovně důvěryhodnosti zobrazena.Další informace naleznete v tématu Přehled nasazení důvěryhodných aplikací.

Viz také

Úkoly

Postupy: Správa aktualizací pro aplikaci ClickOnce

Referenční dokumentace

System.Deployment.Application

Koncepty

ClickOnce – zabezpečení a nasazení

Výběr strategie nasazení ClickOnce

Zabezpečování aplikací ClickOnce

Jak ClickOnce provádí aktualizaci aplikací