Dela via


Distribuera ClickOnce-program för testnings- och produktionsservrar utan att avgå

Den här artikeln beskriver en funktion i ClickOnce som introducerades i .NET Framework version 3.5 som möjliggör distribution av ClickOnce-program från flera nätverksplatser utan att signera om eller ändra ClickOnce-manifesten.

Anmärkning

Att avgå är fortfarande den bästa metoden för att distribuera nya versioner av program. Använd den avgående metoden när det är möjligt. Mer information finns iMage.exe (manifestgenererings- och redigeringsverktyg).

Tredjepartsutvecklare och ISV:er kan välja den här funktionen, vilket gör det enklare för kunderna att uppdatera sina program. Den här funktionen kan användas i följande situationer:

  • När du uppdaterar ett program, inte för den första installationen av ett program.

  • När det bara finns en konfiguration av programmet på en dator. Om ett program till exempel har konfigurerats för att peka på två olika databaser kan du inte använda den här funktionen.

Exkludera deploymentProvider från distributionsmanifest

I .NET Framework 2.0 och .NET Framework 3.0 måste alla ClickOnce-program som installeras i systemet för offlinetillgänglighet ange ett deploymentProvider i distributionsmanifestet. deploymentProvider Kallas ofta uppdateringsplats. Det är platsen där ClickOnce söker efter programuppdateringar. Detta krav, tillsammans med behovet av att programutgivare signerar sina distributioner, gjorde det svårt för ett företag att uppdatera ett ClickOnce-program från en leverantör eller annan tredje part. Det gör det också svårare att distribuera samma program från flera platser i samma nätverk.

Med ändringar som gjorts i ClickOnce i .NET Framework 3.5 är det möjligt för en tredje part att tillhandahålla ett ClickOnce-program till en annan organisation, som sedan kan distribuera programmet i sitt eget nätverk.

För att kunna dra nytta av den här funktionen måste utvecklare av ClickOnce-program undantas deploymentProvider från sina distributionsmanifest. Det här kravet innebär att du måste undanta -providerUrl argumentet när du skapar distributionsmanifest med Mage.exe. Om du genererar distributionsmanifest med MageUI.exemåste du se till att textrutan Starta plats på fliken Programmanifest lämnas tom.

Anmärkning

I ClickOnce för .NET Core 3.1 och .NET 5 eller senare använder dotnet-mage.exe i stället för Mage.exe. Mer information finns i ClickOnce för .NET.

deploymentProvider och programuppdateringar

Från och med .NET Framework 3.5 behöver du inte längre ange ett deploymentProvider i distributionsmanifestet för att distribuera ett ClickOnce-program för både online- och offlineanvändning. Den här ändringen stöder scenariot där du behöver paketera och signera distributionen själv, men gör det möjligt för andra företag att distribuera programmet via sina nätverk.

Det viktiga att komma ihåg är att program som undantar en deploymentProvider inte kan ändra sin installationsplats under uppdateringar förrän de skickar en uppdatering som innehåller taggen deploymentProvider igen.

Här är två exempel för att klargöra denna punkt. I det första exemplet publicerar du ett ClickOnce-program som inte har någon deploymentProvider tagg och du ber användarna att installera det från http://www.adatum.com/MyApplication/. Om du bestämmer dig för att publicera nästa uppdatering av programmet från http://subdomain.adatum.com/MyApplication/kan du inte ange detta i distributionsmanifestet som finns i http://www.adatum.com/MyApplication/. Du kan göra en av två saker:

  • Be användarna att avinstallera den tidigare versionen och installera den nya versionen från den nya platsen.

  • Inkludera en uppdatering på http://www.adatum.com/MyApplication/ som innefattar en deploymentProvider som pekar på http://www.adatum.com/MyApplication/. Släpp sedan en annan uppdatering senare med deploymentProvider som pekar på http://subdomain.adatum.com/MyApplication/.

    I det andra exemplet publicerar du ett ClickOnce-program som anger deploymentProvider, och sedan bestämmer du dig för att ta bort det. När den nya versionen utan deploymentProvider har laddats ned till klienter kan du inte omdirigera sökvägen som används för uppdateringar förrän du har släppt en version av programmet som har deploymentProvider återställts. Precis som i det första exemplet deploymentProvider måste du först peka på den aktuella uppdateringsplatsen, inte den nya platsen. Om du i det här fallet försöker infoga en deploymentProvider som refererar till http://subdomain.adatum.com/MyApplication/misslyckas nästa uppdatering.

Skapa en distribution

Stegvis vägledning om hur du skapar distributioner som kan distribueras från olika nätverksplatser finns i Genomgång: Distribuera ett ClickOnce-program manuellt som inte kräver omsignering och som bevarar varumärkesinformation.