Sdílet prostřednictvím


Nasazení aplikací ClickOnce pro testování a produkční servery bez rezignace

Tento článek popisuje funkci ClickOnce zavedenou v rozhraní .NET Framework verze 3.5, která umožňuje nasazení aplikací ClickOnce z více síťových umístění bez opětovného podepsání nebo změny manifestů ClickOnce.

Poznámka:

Pře-podepisování je stále preferovanou metodou implementace nových verzí aplikací. Kdykoli je to možné, použijte rezignující metodu. Další informace najdete v tématu Mage.exe (generování manifestu a nástroj pro úpravy).

Vývojáři a nezávislí výrobci softwaru třetích stran se můžou k této funkci přihlásit, což zákazníkům usnadní aktualizaci aplikací. Tuto funkci lze použít v následujících situacích:

  • Toto platí při aktualizaci aplikace, nikoliv při její první instalaci.

  • Pokud je v počítači pouze jedna konfigurace aplikace. Pokud je například aplikace nakonfigurovaná tak, aby odkazovala na dvě různé databáze, nemůžete tuto funkci použít.

Vyloučení deploymentProvider z manifestů nasazení

V rozhraní .NET Framework 2.0 a .NET Framework 3.0 musí každá aplikace ClickOnce, která se instaluje do systému pro offline dostupnost, vypsat deploymentProvider v manifestu nasazení. deploymentProvider se často označuje jako umístění aktualizace; je to místo, kde ClickOnce ověřuje aktualizace aplikace. Tento požadavek spolu s potřebou, aby vydavatelé aplikací podepisovali svá nasazení, ztěžoval společnostem možnost aktualizovat aplikaci ClickOnce od dodavatele nebo jiné třetí strany. Také ztěžuje nasazení stejné aplikace z více umístění ve stejné síti.

Díky změnám, které byly provedeny v technologii ClickOnce v rozhraní .NET Framework 3.5, je možné, aby třetí strana poskytla aplikaci ClickOnce jiné organizaci, která pak může nasadit aplikaci ve vlastní síti.

Aby mohli využít tuto funkci, musí vývojáři aplikací ClickOnce vyloučit deploymentProvider z manifestů nasazení. Tento požadavek znamená, že při vytváření manifestů nasazení s Mage.exemusíte argument vyloučit -providerUrl . Nebo pokud generujete manifesty nasazení s MageUI.exe, musíte se ujistit, že textové pole Umístění spuštění na kartě Manifest aplikace je prázdné.

Poznámka:

V ClickOnce pro .NET Core 3.1 a .NET 5 nebo novější použijte dotnet-mage.exe místo Mage.exe. Další informace naleznete v tématu ClickOnce pro .NET.

deploymentProvider a aktualizace aplikací

Počínaje rozhraním .NET Framework 3.5 už nemusíte v manifestu nasazení zadávat deploymentProvider , aby bylo možné nasadit aplikaci ClickOnce pro online i offline použití. Tato změna podporuje scénář, ve kterém potřebujete nasazení zabalit a podepsat sami, ale umožníte ostatním společnostem nasadit aplikaci přes jejich sítě.

Důležité je pamatovat na to, že aplikace, které vyloučí deploymentProvider, nemůžou změnit umístění instalace, dokud nedoručí aktualizaci, která znovu zahrne značku deploymentProvider.

Tady jsou dva příklady, které tento bod vysvětlují. V prvním příkladu publikujete aplikaci ClickOnce, která nemá žádnou deploymentProvider značku, a požádáte uživatele, aby ji nainstalovali z http://www.adatum.com/MyApplication/. Pokud se rozhodnete, že chcete publikovat další aktualizaci aplikace z http://subdomain.adatum.com/MyApplication/, nemáte žádný způsob, jak to podepsat v manifestu nasazení, který se nachází v http://www.adatum.com/MyApplication/. Můžete udělat jednu ze dvou věcí:

  • Řekněte uživatelům, aby odinstalovali předchozí verzi a nainstalovali novou verzi z nového umístění.

  • Zahrnout aktualizaci http://www.adatum.com/MyApplication/, která zahrnuje deploymentProvider odkaz na http://www.adatum.com/MyApplication/. Potom uvolněte další aktualizaci později s deploymentProvider odkazem na http://subdomain.adatum.com/MyApplication/.

    V druhém příkladu publikujete aplikaci ClickOnce, která určuje deploymentProvider, a pak se rozhodnete ji odebrat. Jakmile se nová verze bez deploymentProvider stáhne k zákazníkům, nemůžete přesměrovat cestu použitou pro aktualizace, dokud neuvolníte verzi aplikace, která má deploymentProvider obnoveno. Stejně jako v prvním příkladu deploymentProvider musí zpočátku odkazovat na aktuální umístění aktualizace, nikoli na nové umístění. Pokud se v takovém případě pokusíte vložit deploymentProvider, která odkazuje na http://subdomain.adatum.com/MyApplication/, další aktualizace se nezdaří.

Vytvořte nasazení

Podrobné pokyny k vytváření nasazení, která je možné nasadit z různých síťových umístění, najdete v tématu Návod: Ruční nasazení aplikace ClickOnce, která nevyžaduje opětovné podepisování a zachovává informace o značce.