Zabezpečení a nasazení ClickOnce

ClickOnce je technologie nasazení, která umožňuje vytvořit automaticky se aktualizující aplikace systému Windows. Instalace a spuštění vyžadují minimální interakci uživatele. Visual Studio poskytuje úplnou podporu pro publikování a aktualizaci aplikací nasazených technologií ClickOnce, pokud jste vyvinuli projekty pomocí visual basicu a visual C#. Informace o nasazení aplikací Visual C++ naleznete v tématu Nasazení ClickOnce pro aplikace Visual C++.

Nasazení ClickOnce řeší tři hlavní problémy v nasazení:

  • Potíže s aktualizací aplikací Při nasazení Instalační služby systému Microsoft Windows může uživatel při každé aktualizaci aplikace nainstalovat aktualizaci, soubor msp a použít ho na nainstalovaný produkt; pomocí nasazení ClickOnce můžete aktualizace poskytovat automaticky. Stáhnou se jenom ty části aplikace, které se změnily, a pak se úplná aktualizovaná aplikace přeinstaluje z nové souběžné složky.

  • Dopad na počítač uživatele Při nasazení Instalační služby systému Windows se aplikace často spoléhají na sdílené komponenty s potenciálem konfliktů správy verzí; s nasazením ClickOnce je každá aplikace samostatná a nemůže narušovat jiné aplikace.

  • Oprávnění zabezpečení. Nasazení Instalační služby systému Windows vyžaduje oprávnění správce a umožňuje pouze omezenou instalaci uživatelů; Nasazení ClickOnce umožňuje uživatelům, kteří nejsou správci, instalovat a udělovat pouze oprávnění zabezpečení přístupu kódu nezbytná pro aplikaci.

    V minulosti tyto problémy někdy způsobily, že se vývojáři rozhodli vytvářet webové aplikace místo aplikací založených na Windows a obětovat bohaté uživatelské rozhraní pro snadnou instalaci. Pomocí aplikací nasazených pomocí Technologie ClickOnce můžete mít ty nejlepší z obou technologií.

Co je aplikace ClickOnce?

Aplikace ClickOnce je libovolná aplikace Windows Presentation Foundation (.xbap), model Windows Forms (.exe), konzolová aplikace (.exe) nebo řešení Office (.dll) publikované pomocí technologie ClickOnce. Aplikaci ClickOnce můžete publikovat třemi různými způsoby: z webové stránky, ze sdílené síťové složky nebo ze starších médií, jako je cd-ROM. Aplikaci ClickOnce lze nainstalovat na počítač koncového uživatele a spustit místně i v případě, že je počítač offline, nebo může být spuštěn v režimu jen online bez trvalé instalace čehokoli na počítač koncového uživatele. Další informace naleznete v tématu Volba strategie nasazení ClickOnce.

Aplikace ClickOnce mohou být samoobslužné aktualizace; můžou kontrolovat novější verze, jakmile budou k dispozici, a automaticky nahradit všechny aktualizované soubory. Vývojář může určit chování aktualizace; Správce sítě může také řídit strategie aktualizací, například označení aktualizace jako povinné. Aktualizace se dají také vrátit zpět do starší verze koncovým uživatelem nebo správcem. Další informace naleznete v tématu Volba strategie aktualizace ClickOnce.

Vzhledem k tomu, že aplikace ClickOnce jsou izolované, instalace nebo spuštění aplikace ClickOnce nemůže přerušit existující aplikace. Aplikace ClickOnce jsou samostatné; každá aplikace ClickOnce se instaluje a spouští ze zabezpečené mezipaměti pro jednotlivé uživatele. Aplikace ClickOnce běží v zónách zabezpečení internetu nebo intranetu. V případě potřeby může aplikace požádat o zvýšená oprávnění zabezpečení. Další informace naleznete v tématu Zabezpečené aplikace ClickOnce.

Jak funguje zabezpečení ClickOnce

Základní zabezpečení ClickOnce je založené na certifikátech, zásadách zabezpečení přístupu kódu a výzvě důvěryhodnosti ClickOnce.

Certifikáty

Certifikáty Authenticode slouží k ověření pravosti vydavatele aplikace. Díky použití authenticode pro nasazení aplikace ClickOnce pomáhá zabránit škodlivému programu, aby se vylíčil jako legitimní program pocházející ze zavedeného důvěryhodného zdroje. Volitelně můžete certifikáty použít také k podepsání manifestů aplikace a nasazení, aby bylo možné prokázat, že soubory nebyly manipulovány. Další informace naleznete v tématu ClickOnce a Authenticode. Certifikáty lze také použít ke konfiguraci klientských počítačů tak, aby měly seznam důvěryhodných vydavatelů. Pokud aplikace pochází z důvěryhodného vydavatele, můžete ji nainstalovat bez zásahu uživatele. Další informace naleznete v tématu Přehled nasazení důvěryhodné aplikace.

Zabezpečení přístupu kódu

Zabezpečení přístupu kódu pomáhá omezit přístup, který má kód k chráněným prostředkům. Ve většině případů můžete pro omezení oprávnění zvolit zóny Internetu nebo místního intranetu. Stránku Zabezpečení v Návrháři projektů použijte k vyžádání zóny vhodné pro aplikaci. Můžete také ladit aplikace s omezenými oprávněními pro emulaci prostředí koncového uživatele. Další informace naleznete v tématu Zabezpečení přístupu kódu pro aplikace ClickOnce.

Poznámka:

V ClickOnce pro .NET Core a .NET 5 nebo novější není tato funkce podporována. Další informace naleznete v tématu ClickOnce pro .NET.

Výzva důvěryhodnosti ClickOnce

Pokud aplikace požaduje více oprávnění, než umožňuje zóna, může být koncový uživatel vyzván k rozhodnutí o důvěryhodnosti. Koncový uživatel se může rozhodnout, jestli jsou aplikace ClickOnce, jako jsou aplikace model Windows Forms, aplikace Windows Presentation Foundation, konzolové aplikace, aplikace prohlížeče XAML a řešení Office, důvěryhodné ke spuštění. Další informace naleznete v tématu Postupy: Konfigurace chování výzvy důvěryhodnosti ClickOnce.

Jak funguje nasazení ClickOnce

Základní architektura nasazení ClickOnce je založená na dvou souborech manifestu XML: manifestu aplikace a manifestu nasazení. Soubory se používají k popisu, odkud se instalují aplikace ClickOnce, jak se aktualizují a kdy se aktualizují.

Publikování aplikací ClickOnce

Manifest aplikace popisuje samotnou aplikaci. To zahrnuje sestavení, závislosti a soubory, které tvoří aplikaci, požadovaná oprávnění a umístění, kde budou dostupné aktualizace. Vývojář aplikace autory manifestu aplikace pomocí Průvodce publikováním v sadě Visual Studio (nástroj Publikovat pro .NET Core a .NET 5+) nebo nástroje pro generování a úpravy manifestu (Mage.exe) v sadě Windows Software Development Kit (SDK). Další informace naleznete v tématu:

Manifest nasazení popisuje, jak je aplikace nasazená. To zahrnuje umístění manifestu aplikace a verzi aplikace, kterou mají klienti spustit.

Poznámka:

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

Nasazení aplikací ClickOnce

Po vytvoření se manifest nasazení zkopíruje do umístění nasazení. Může se jednat o webový server, sdílenou síťovou složku nebo starší média, jako je disk CD. Manifest aplikace a všechny soubory aplikace se také zkopírují do umístění nasazení určeného v manifestu nasazení. Může to být stejné jako umístění nasazení nebo to může být jiné umístění. Při použití Průvodce publikováním v sadě Visual Studio se operace kopírování provádějí automaticky.

Instalace aplikací ClickOnce

Po nasazení do umístění nasazení můžou koncoví uživatelé stáhnout a nainstalovat aplikaci kliknutím na ikonu představující soubor manifestu nasazení na webové stránce nebo ve složce. Ve většině případů se koncovému uživateli zobrazí jednoduché dialogové okno s výzvou, aby potvrdil instalaci, po které pokračuje instalace a aplikace se spustí bez dalšího zásahu. V případech, kdy aplikace vyžaduje zvýšená oprávnění nebo pokud aplikace není podepsaná důvěryhodným certifikátem, dialogové okno také požádá uživatele, aby udělil oprávnění před pokračováním instalace. Přestože instalace ClickOnce jsou pro jednotlivé uživatele, může být vyžadováno zvýšení oprávnění, pokud existují požadavky, které vyžadují oprávnění správce. Další informace o zvýšených oprávněních naleznete v tématu Zabezpečení aplikací ClickOnce.

Certifikáty můžou být důvěryhodné na úrovni počítače nebo podniku, aby aplikace ClickOnce podepsané důvěryhodným certifikátem mohly bezobslužně instalovat. Další informace o důvěryhodných certifikátech naleznete v tématu Přehled nasazení důvěryhodné aplikace.

Aplikaci lze přidat do nabídky Start uživatele a do skupiny Přidat nebo odebrat programy v Ovládací panely. Na rozdíl od jiných technologií nasazení se nic nepřidá do složky Program Files nebo registru a k instalaci nejsou vyžadována žádná práva správce.

Poznámka:

Je také možné zabránit tomu, aby aplikace byla přidána do nabídky Start a přidat nebo odebrat programy skupiny, takže se chová jako webová aplikace. Další informace naleznete v tématu Volba strategie nasazení ClickOnce.

Aktualizace aplikací ClickOnce

Když vývojáři aplikací vytvoří aktualizovanou verzi aplikace, vygenerují nový manifest aplikace a zkopírují soubory do umístění nasazení – obvykle do složky nasazení na stejné stejné straně jako původní složka nasazení aplikace. Správce aktualizuje manifest nasazení tak, aby odkazovat na umístění nové verze aplikace.

Poznámka:

Průvodce publikováním v sadě Visual Studio lze použít k provedení těchto kroků. Pro .NET Core a .NET 5 nebo novější nástroj Publikování poskytuje tyto kroky.

Kromě umístění nasazení obsahuje manifest nasazení také umístění aktualizace (webovou stránku nebo sdílenou síťovou složku), kde aplikace kontroluje aktualizované verze. Vlastnosti ClickOnce Publish se používají k určení, kdy a jak často má aplikace kontrolovat aktualizace. Chování aktualizace je možné zadat v manifestu nasazení nebo se dá zobrazit jako uživatelské volby v uživatelském rozhraní aplikace pomocí rozhraní API ClickOnce. Kromě toho je možné použít vlastnosti publikování , aby byly aktualizace povinné nebo aby se vrátily k dřívější verzi. Další informace naleznete v tématu Volba strategie aktualizace ClickOnce.

Instalační programy třetích stran

Instalační program ClickOnce můžete přizpůsobit tak, aby spolu s vaší aplikací nainstaloval komponenty třetích stran. Musíte mít distribuovatelný balíček (.exe nebo soubor .msi) a popsat balíček s manifestem produktu neutrálním jazykem a manifestem balíčku specifického pro jazyk. Další informace naleznete v tématu Vytváření balíčků bootstrapperu.

Nástroje ClickOnce

Následující tabulka ukazuje nástroje, které můžete použít k vygenerování, úpravám, podepsání a opětovnému podepsání manifestů aplikace a nasazení. Pro .NET Core a .NET 5 nebo novější jsou možnosti podobné atributům MSBuild nastaveny pomocí profilu publikování.

Nástroj Popis
Stránka Zabezpečení, Návrhář projektu Podepíše manifesty aplikace a nasazení. Pro .NET Core a .NET 5 nebo novější jsou tato nastavení v profilu publikování.
Stránka Publikovat, Návrhář projektu Generuje a upravuje manifesty aplikace a nasazení pro aplikace jazyka Visual Basic a Visual C#. Pro .NET Core a .NET 5 nebo novější jsou tato nastavení v profilu publikování.
Mage.exe (nástroj pro generování a úpravy manifestu) Vygeneruje manifesty aplikace a nasazení pro aplikace Visual Basic, Visual C# a Visual C++.

Podepíše a znovu podepíše manifesty aplikace a nasazení.

Lze spustit z dávkových skriptů a příkazového řádku.
dotnetmage.exe (nástroj pro generování a úpravy manifestu) Generuje manifesty aplikace a nasazení pro aplikace .NET 5+ C# a Visual Basic. Použití odpovídá Mage.exe.

Podepíše a znovu podepíše manifesty aplikace a nasazení.

Lze spustit z dávkových skriptů a příkazového řádku.
MageUI.exe (nástroj pro generování a úpravy manifestu, grafický klient) Generuje a upravuje manifesty aplikace a nasazení.

Podepíše a znovu podepíše manifesty aplikace a nasazení.
GenerateApplicationManifest – úloha Vygeneruje manifest aplikace.

Lze spustit z nástroje MSBuild. Další informace naleznete v tématu MSBuild reference.
GenerateDeploymentManifest – úloha Vygeneruje manifest nasazení.

Lze spustit z nástroje MSBuild. Další informace naleznete v tématu MSBuild reference.
SignFile – úloha Podepíše manifesty aplikace a nasazení.

Lze spustit z nástroje MSBuild. Další informace naleznete v tématu MSBuild reference.
Microsoft.Build.Tasks.Deployment.ManifestUtilities Vyvíjejte vlastní aplikaci pro generování manifestů aplikace a nasazení.

Následující tabulka uvádí verzi rozhraní .NET Framework potřebnou k podpoře aplikací ClickOnce v těchto prohlížečích.

Prohlížeč Verze rozhraní .NET Framework
Firefox 2.0 SP1, 3.5 SP1, 4
Chrome 3.5
Microsoft Edge 3.5