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:

Rezignování je stále upřednostňovanou metodou nasazení nových verzí aplikací. Kdykoli je to možné, použijte rezignující metodu. Další informace naleznete v tématu Mage.exe (Generování manifestu a editing Tool).

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:

  • Při aktualizaci aplikace ne pro první instalaci aplikace.

  • 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í. Často deploymentProvider se označuje jako umístění aktualizace. Jedná se o umístění, kde ClickOnce kontroluje aktualizace aplikací. Tento požadavek společně s potřebou vydavatelů aplikací podepsat svá nasazení ztěžuje, aby společnost aktualizovala 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í pomocí Mage.exe je nutné vyloučit -providerUrl argument. Nebo pokud generujete manifesty nasazení pomocí MageUI.exe, musíte zajistit, aby textové pole Umístění spuštění na kartě Manifest aplikace zůstalo 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é při aktualizacích nevyloučí, nemůžou deploymentProvider změnit umístění instalace, dokud nedoručí aktualizaci, která značku znovu zahrne 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 deploymentProvider stáhne do klientů, nemůžete cestu použitou pro aktualizace přesměrovat, dokud nevyvoláte verzi aplikace, která se obnovila deploymentProvider . 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 odkazující http://subdomain.adatum.com/MyApplication/na , další aktualizace se nezdaří.

Vytvoření 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.