Výběr strategie aktualizace ClickOnce

ClickOnce může poskytovat automatické aktualizace aplikace. Aplikace ClickOnce pravidelně čte soubor manifestu nasazení, aby zjistil, zda jsou k dispozici aktualizace pro aplikaci. Pokud je k dispozici nová verze aplikace, je stažena a spuštěna. Pro zvýšení účinnosti 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í. Existují tři základní strategie, které lze použít: kontrola aktualizací při spuštění aplikace, kontrola aktualizací po spuštění aplikace (spuštěno vě vlákně na pozadí) nebo poskytnutí uživatelského rozhraní pro aktualizace.

Kromě toho můžete určit, jak často bude aplikace aktualizace vyhledávat a můžete učinit aktualizace povinnými.

Poznámka

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

Poznámka

V rozhraní .NET Framework 2.0 a .NET Framework 3.0, kdykoli aplikace vyhledá aktualizace, před nebo po spuštění nebo pomocí System.Deployment.Application rozhraní API, musíte zadat deploymentProvider v manifestu nasazení. Prvek deploymentProvider v aplikaci Visual Studio odpovídá poli Umístění aktualizace v dialogovém okně Aktualizace záložky Publikovat. Toto pravidlo je uvolněno v rozhraní .NET Framework 3.5. Další informace naleznete v tématu Nasazování aplikací ClickOnce pro testovací a výrobní servery bez opětovného podepisování.

Kontrola aktualizace po spuštění aplikace

Pomocí této strategie se aplikace pokusí nalézt a číst soubor manifestu nasazení na pozadí, když je spuštěna. Pokud je k dispozici aktualizace, při příštím spuštění aplikace uživatelem bude tento 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 u 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 Zvolit, pokud má aplikace vyhledávat aktualizace v dialogovém okně Aktualizace aplikace. Pak zadejte interval aktualizace v oddílu Určete, jak často by měla aplikace vyhledávat aktualizace.

To je stejné jako změna prvku Aktualizace v manifestu nasazení jako takto:

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

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

Výchozí strategie je pokusit se vyhledat a číst soubor manifestu nasazení před spuštěním aplikace. Pomocí této strategie se aplikace pokusí nalézt a číst soubor manifestu nasazení pokaždé, když uživatel znovu spustí aplikaci. Pokud je k dispozici aktualizace, bude stažena a spuštěna; v opačném případě bude spuštěna existují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 nepřijatelně dlouhé u připojení s nízkou šířkou pásma.

Chcete-li povolit tuto strategii aktualizace, klikněte na možnost Před spuštěním aplikace v oddílu Zvolit, pokud má aplikace vyhledávat aktualizace v dialogovém okně Aktualizace aplikace. Další informace naleznete v tématu Dialogové okno aktualizace aplikace.

To je stejné jako změna prvku Aktualizace v manifestu nasazení jako takto:

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

Provedení aktualizací povinnými

Mohou nastat situace, kdy požadujete, aby uživatelé spouštěli aktualizovanou verzi aplikace. Například můžete provézt změnu na externím prostředku, jako například webové službě, což zabrání starší verzi aplikace pracovat správně. V tomto případě byste mohli chctít označit aktualizace jako povinné a zabránit uživatelům ve spouštění starších verzí.

Poznámka

Přestože můžete požadovat aktualizace pomocí dalších strategií aktualizací, kontrola Před spuštěním aplikace je jediný způsob jak zaručit, že nemůže být spuštěna starší verze. Při zjištění povinné aktualizace při spuštění, musí uživatel přijmout aktualizaci nebo ukončit aplikaci.

Pro označení aktualizace jako požadované, klikněte na Určete minimální požadovánou verzi této aplikace v dialogovém okně Aktualizace aplikace a potom určete verzi publikování (Hlavní, Vedlejší, Sestavení, Revize), která určuje nejnižší číslo verze aplikace, která může být nainstalována. Další informace naleznete v tématu Dialogové okno aktualizace aplikace.

To je stejné jako nastavení 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 aplikace kontroluje aktualizace. Chcete-li to provést, určíte, že aplikace vyhledá aktualizace po spuštění, jak je popsáno v "Kontrolování aktualizací po spuštění aplikace" dříve v tomto tématu.

Chcete-li určit interval aktualizace, nastavte vlastnost Určete, jak často by měla aplikace vyhledat aktualizace v dialogovém okně Aktualizace aplikace. Další informace naleznete v tématu Dialogové okno aktualizace aplikace.

To je stejné jako nastavení atributů maximumAge a unit prvku Update v manifestu nasazení.

Chcete-li například provést kontrolu při každém spuštění aplikace nebo jedenkrát za týden nebo jednou za měsíc. Pokud síťové připojení není k dispozici v určený čas, kontrola aktualizace je prováděna při příštím spuštění aplikace.

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

Při použití 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. Například můžete vytvořit příkaz "Zkontrolovat aktualizace" nebo dialogové okno "Nastavení aktualizací" obsahující možnosti 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í aktualizační logiky, měly byste blokovat kontrolování aktualizací popisané v "Blokování kontrol aktualizací" v následujícím oddílu.

Tato strategie funguje nejlépe, když potřebujete aktualizace různých strategií pro různé uživatele.

Blokování kontroly aktualizace

Je také možné zabránit stálému zjišťování aktualizací aplikace. Například můžete mít jednoduchou aplikaci, která nikdy nebude aktualizována, ale chcete využít výhod usnadnění instalace poskytovaných nasazením ClickOnce.

Také byste měli zablokovat kontroly aktualizací, pokud aplikace používá implementaci rozhraní API nasazení k provedení vlastních aktualizací; "Poskytnutí uživatelského rozhraní pro aktualizace" dříve 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é okno aktualizace aplikace.

Je také možné zablokovat kontrolu aktualizace odebráním značky <Subscription> z manifest nasazení.

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

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

K žádným dotazováním na úrovně vztahu důvěryhodnosti nebude docházet, pokud použijete důvěryhodné nasazení aplikace. Další informace naleznete v tématu Důvěryhodný přehled nasazení aplikace.

Viz také

Úkoly

Postupy: Správa aktualizací pro aplikace ClickOnce

Odkaz

Dialogové okno aktualizace aplikace

System.Deployment.Application

Koncepty

ClickOnce zabezpečení a nasazení

Výběr strategie nasazení ClickOnce

Zabezpečení aplikací ClickOnce

Výběr strategie nasazení

Jak ClickOnce provádí aktualizace aplikace