Udostępnij za pośrednictwem


Wdrażanie i zabezpieczenia technologii ClickOnce

ClickOnce to technologia wdrażania, która umożliwia tworzenie samodzielnie aktualizowanych aplikacji opartych na systemie Windows, które można instalować i uruchamiać przy minimalnej interakcji użytkownika. Program Visual Studio zapewnia pełną obsługę publikowania i aktualizowania aplikacji wdrożonych przy użyciu technologii ClickOnce, jeśli zostały opracowane projekty przy użyciu języka Visual Basic i Visual C#. Aby uzyskać informacje na temat wdrażania aplikacji Visual C++, zobacz Wdrażanie technologii ClickOnce dla aplikacji Visual C++.

Wdrożenie Technologii ClickOnce pozwala przezwyciężyć trzy główne problemy związane z wdrażaniem:

  • Problemy z aktualizowaniem aplikacji. W przypadku wdrożenia Instalatora Windows firmy Microsoft za każdym razem, gdy aplikacja jest aktualizowana, użytkownik może zainstalować aktualizację, plik msp i zastosować go do zainstalowanego produktu; Dzięki wdrożeniu technologii ClickOnce można automatycznie udostępniać aktualizacje. Pobierane są tylko te części aplikacji, które uległy zmianie, a następnie pełna zaktualizowana aplikacja zostanie ponownie zainstalowana z nowego folderu obok siebie.

  • Wpływ na komputer użytkownika. W przypadku wdrażania Instalatora Windows aplikacje często polegają na udostępnionych składnikach z możliwością konfliktów wersji; Dzięki wdrożeniu technologii ClickOnce każda aplikacja jest samodzielna i nie może zakłócać działania innych aplikacji.

  • Uprawnienia zabezpieczeń. Wdrożenie Instalatora Windows wymaga uprawnień administracyjnych i zezwala tylko na ograniczoną instalację użytkownika; Wdrożenie Technologii ClickOnce umożliwia użytkownikom niebędącym administratorami instalowanie i przyznawanie tylko tych uprawnień zabezpieczeń dostępu kodu niezbędnych dla aplikacji.

    W przeszłości te problemy czasami powodowały, że deweloperzy zdecydowali się na tworzenie aplikacji internetowych zamiast aplikacji opartych na systemie Windows, poświęcając bogaty interfejs użytkownika w celu ułatwienia instalacji. Korzystając z aplikacji wdrożonych przy użyciu technologii ClickOnce, możesz mieć najlepsze z obu technologii.

Co to jest aplikacja ClickOnce?

Aplikacja ClickOnce to dowolna aplikacja Windows Presentation Foundation (.xbap), Windows Forms (.exe), aplikacja konsolowa (.exe) lub rozwiązanie pakietu Office (.dll) opublikowane przy użyciu technologii ClickOnce. Aplikację ClickOnce można opublikować na trzy różne sposoby: ze strony internetowej, z udziału sieciowego lub ze starszego nośnika, takiego jak dysk CD-ROM. Aplikację ClickOnce można zainstalować na komputerze użytkownika końcowego i uruchamiać lokalnie nawet wtedy, gdy komputer jest w trybie offline lub może być uruchamiany w trybie tylko online bez trwałego instalowania niczego na komputerze użytkownika końcowego. Aby uzyskać więcej informacji, zobacz Wybierz strategię wdrażania Technologii ClickOnce.

Aplikacje ClickOnce mogą być aktualizowane samodzielnie; mogą sprawdzać nowsze wersje w miarę ich dostępności i automatycznie zastępować wszystkie zaktualizowane pliki. Deweloper może określić zachowanie aktualizacji; Administrator sieci może również kontrolować strategie aktualizacji, na przykład oznaczanie aktualizacji jako obowiązkowe. Aktualizacje mogą być również przywracane do starszej wersji przez użytkownika końcowego lub przez administratora. Aby uzyskać więcej informacji, zobacz Wybierz strategię aktualizacji ClickOnce.

Ponieważ aplikacje ClickOnce są izolowane, instalowanie lub uruchamianie aplikacji ClickOnce nie może przerwać istniejących aplikacji. Aplikacje ClickOnce są samodzielne; każda aplikacja ClickOnce jest instalowana i uruchamiana z bezpiecznej pamięci podręcznej dla poszczególnych użytkowników. Aplikacje ClickOnce działają w strefach zabezpieczeń Internet lub Intranet. W razie potrzeby aplikacja może zażądać podwyższonych uprawnień zabezpieczeń. Aby uzyskać więcej informacji, zobacz Zabezpiecz aplikacje ClickOnce.

Jak działa zabezpieczenia technologii ClickOnce

Podstawowe zabezpieczenia Technologii ClickOnce są oparte na certyfikatach, zasadach zabezpieczeń dostępu kodu i monicie zaufania ClickOnce.

Certyfikaty

Certyfikaty Authenticode służą do weryfikowania autentyczności wydawcy aplikacji. Dzięki użyciu technologii Authenticode na potrzeby wdrażania aplikacji technologia ClickOnce pomaga zapobiec przedstawianiu się szkodliwemu programowi jako wiarygodnemu programowi pochodzącemu z ustalonego, wiarygodnego źródła. Opcjonalnie certyfikaty mogą być również używane do podpisywania manifestów aplikacji i wdrażania w celu potwierdzenia, że pliki nie zostały naruszone. Aby uzyskać więcej informacji, zobacz ClickOnce i Authenticode. Certyfikaty mogą również służyć do konfigurowania komputerów klienckich w celu wyświetlenia listy zaufanych wydawców. Jeśli aplikacja pochodzi z zaufanego wydawcy, można ją zainstalować bez interakcji z użytkownikiem. Aby uzyskać więcej informacji, zobacz Omówienie wdrażania zaufanej aplikacji.

Zabezpieczenie dostępu do kodu

Zabezpieczenia dostępu do kodu pomagają ograniczyć dostęp, jaki kod ma do chronionych zasobów. W większości przypadków można wybrać strefy Internet lub Lokalny intranet, aby ograniczyć uprawnienia. Użyj strony zabezpieczeń w Project Designer, aby zażądać strefy odpowiedniej dla aplikacji. Możesz również debugować aplikacje z ograniczonymi uprawnieniami, aby emulować środowisko użytkownika końcowego. Aby uzyskać więcej informacji, zobacz Zabezpieczenia dostępu kodu dla aplikacji ClickOnce.

Uwaga

W technologii ClickOnce dla platform .NET Core i .NET 5 lub nowszych ta funkcja nie jest obsługiwana. Aby uzyskać więcej informacji, zobacz ClickOnce for .NET.

Monit zaufania technologii ClickOnce

Jeśli aplikacja żąda większej liczby uprawnień, niż zezwala na to strefa, użytkownik końcowy może zostać poproszony o podjęcie decyzji o zaufaniu. Użytkownik końcowy może zdecydować, czy aplikacje ClickOnce, takie jak aplikacje Windows Forms, aplikacje Windows Presentation Foundation, aplikacje konsolowe, aplikacje przeglądarki XAML i rozwiązania pakietu Office są zaufane do uruchamiania. Aby uzyskać więcej informacji, zobacz Jak: Konfigurować zachowanie monitu zaufania technologii ClickOnce.

Jak działa wdrażanie technologii ClickOnce

Podstawowa architektura wdrażania Technologii ClickOnce jest oparta na dwóch plikach manifestu XML: manifeście aplikacji i manifeście wdrożenia. Pliki są używane do opisywania, skąd są instalowane aplikacje ClickOnce, w jaki sposób są aktualizowane i kiedy są aktualizowane.

Publikowanie aplikacji ClickOnce

Manifest aplikacji opisuje samą aplikację. Obejmuje to zestawy, zależności i pliki tworzące aplikację, wymagane uprawnienia i lokalizację, w której będą dostępne aktualizacje. Deweloper aplikacji tworzy manifest aplikacji, używając Kreatora publikowania w programie Visual Studio (narzędzie publikowania dla platform .NET Core i .NET 5 lub nowszych) lub narzędzia do generowania i edytowania manifestu (Mage.exe) w zestawie Windows Software Development Kit (SDK). Aby uzyskać więcej informacji, zobacz:

Manifest wdrożenia opisuje sposób wdrażania aplikacji. Obejmuje to lokalizację manifestu aplikacji oraz wersję aplikacji, którą powinni uruchomić klienci.

Uwaga

W technologii ClickOnce dla platformy .NET Core 3.1 i .NET 5 lub nowszej użyj dotnet-mage.exe zamiast Mage.exe. Aby uzyskać więcej informacji, zobacz ClickOnce for .NET.

Wdrażanie aplikacji ClickOnce

Po jego utworzeniu, manifest wdrożenia zostaje skopiowany do lokalizacji wdrożenia. Może to być serwer sieci Web, udostępnianie plików sieciowych lub tradycyjne nośniki, takie jak dysk CD. Manifest aplikacji i wszystkie pliki aplikacji są również kopiowane do lokalizacji wdrożenia określonej w manifeście wdrożenia. Może to być taka sama jak lokalizacja wdrożenia lub może być inną lokalizacją. W przypadku korzystania z Kreatora publikowania w programie Visual Studio operacje kopiowania są wykonywane automatycznie.

Instalowanie aplikacji ClickOnce

Po wdrożeniu w lokalizacji wdrożenia użytkownicy końcowi mogą pobrać i zainstalować aplikację, klikając ikonę reprezentującą plik manifestu wdrożenia na stronie sieci Web lub w folderze. W większości przypadków użytkownik końcowy jest wyświetlany z prostym oknem dialogowym z prośbą użytkownika o potwierdzenie instalacji, po którym instalacja będzie kontynuowana, a aplikacja jest uruchamiana bez dodatkowej interwencji. W przypadkach, gdy aplikacja wymaga podwyższonych uprawnień lub jeśli aplikacja nie jest podpisana przez zaufany certyfikat, w oknie dialogowym zostanie również wyświetlony monit o udzielenie uprawnień przed kontynuowaniem instalacji. Chociaż instalacja technologii ClickOnce jest wymagana dla poszczególnych użytkowników, może być wymagane podniesienie uprawnień, jeśli istnieją wymagania wstępne, które wymagają uprawnień administratora. Aby uzyskać więcej informacji o podwyższonych uprawnieniach, zobacz Zabezpieczanie aplikacji ClickOnce.

Certyfikaty mogą być zaufane na poziomie komputera lub przedsiębiorstwa, dzięki czemu aplikacje ClickOnce podpisane za pomocą zaufanego certyfikatu mogą być instalowane w trybie dyskretnym. Aby uzyskać więcej informacji na temat zaufanych certyfikatów, zobacz Omówienie wdrażania zaufanej aplikacji.

Aplikację można dodać do menu Start użytkownika oraz do grupy Dodaj lub Usuń programy w panelu sterowania . W przeciwieństwie do innych technologii wdrażania żadne uprawnienia administracyjne nie są dodawane do folderu Program Files ani rejestru, a żadne uprawnienia administracyjne nie są wymagane do instalacji

Uwaga

Istnieje również możliwość uniemożliwienia dodania aplikacji do menu Start i grupy Dodaj lub usuń programy, przez co aplikacja działa jak aplikacja internetowa. Aby uzyskać więcej informacji, zobacz Wybierz strategię wdrażania Technologii ClickOnce.

Aktualizowanie aplikacji ClickOnce

Gdy deweloperzy aplikacji tworzą zaktualizowaną wersję aplikacji, generują nowy manifest aplikacji i kopiują pliki do lokalizacji wdrożenia — zazwyczaj folder równorzędny do oryginalnego folderu wdrożenia aplikacji. Administrator aktualizuje manifest wdrożenia, aby wskazywał lokalizację nowej wersji aplikacji.

Uwaga

Do wykonania tych kroków można użyć Kreatora publikowania w programie Visual Studio. W przypadku platform .NET Core i .NET 5+narzędzie Publikuj udostępnia te kroki.

Oprócz lokalizacji wdrożenia, manifest wdrożenia zawiera również lokalizację aktualizacji (stronę sieci Web lub udostępniony zasób plików), z której aplikacja sprawdza aktualizacje. Właściwości ClickOnce Publish są używane do określania, kiedy i jak często aplikacja powinna sprawdzać dostępność aktualizacji. Zachowanie aktualizacji można określić w manifeście wdrożenia lub może być prezentowane jako opcje użytkownika w interfejsie użytkownika aplikacji za pomocą interfejsów API ClickOnce. Ponadto można stosować właściwości Publish w celu wprowadzania obowiązkowych aktualizacji lub wycofywania do wcześniejszej wersji. Aby uzyskać więcej informacji, zobacz Wybieranie strategii aktualizacji ClickOnce.

Instalatory innych firm

Możesz dostosować instalatora ClickOnce, aby zainstalować składniki innych firm wraz z aplikacją. Musisz mieć pakiet redystrybucyjny (.exe lub plik .msi) i opisać pakiet za pomocą manifestu produktu neutralnego dla języka i manifestu pakietu specyficznego dla języka. Aby uzyskać więcej informacji, zobacz Tworzenie pakietów rozruchowych.

Narzędzia ClickOnce

W poniższej tabeli przedstawiono narzędzia, których można użyć do generowania, edytowania, podpisywania i ponownego podpisywania manifestów aplikacji i wdrożenia. W przypadku programów .NET Core i .NET 5+opcje podobne do atrybutów programu MSBuild są ustawiane przy użyciu profilu Publikowania.

Narzędzie Opis
Strona bezpieczeństwa , Projektant projektów Podpisuje manifesty aplikacji i wdrożenia. W przypadku platform .NET Core i .NET 5+te ustawienia znajdują się w profilu Publikowania.
Publikuj stronę, Projektant projektów Generuje i edytuje manifesty aplikacji i wdrażania dla aplikacji Visual Basic i Visual C#. W przypadku platform .NET Core i .NET 5+te ustawienia znajdują się w profilu Publikowania.
Mage.exe (narzędzie generowania i edytowania manifestu) Generuje manifesty aplikacji i wdrażania dla aplikacji Visual Basic, Visual C# i Visual C++.

Podpisuje i ponownie podpisuje manifesty aplikacji i wdrożenia.

Można uruchamiać przy użyciu skryptów wsadowych i wiersza polecenia.
dotnetmage.exe (narzędzie generowania i edytowania manifestu) Generuje manifesty aplikacji i wdrażania dla aplikacji .NET 5+ C# i Visual Basic. Użycie jest ekwiwalentne z Mage.exe.

Podpisuje i ponownie podpisuje manifesty aplikacji i wdrożenia.

Można uruchamiać przy użyciu skryptów wsadowych i wiersza polecenia.
MageUI.exe (narzędzie generowania i edytowania manifestu, klient graficzny) Generuje i edytuje manifesty aplikacji i wdrożenia.

Podpisuje i ponownie podpisuje manifesty aplikacji i wdrożenia.
zadania GenerateApplicationManifest Generuje manifest aplikacji.

Można uruchomić z programu MSBuild. Aby uzyskać więcej informacji, zobacz MSBuild reference.
zadania GenerateDeploymentManifest Generuje manifest wdrożenia.

Można uruchomić z programu MSBuild. Aby uzyskać więcej informacji, zobacz MSBuild reference.
Zadanie SignFile Podpisuje manifesty aplikacji i wdrożenia.

Można uruchomić z programu MSBuild. Aby uzyskać więcej informacji, zobacz MSBuild reference.
Microsoft.Build.Tasks.Deployment.ManifestUtilities Twórz własną aplikację, aby wygenerować manifesty aplikacji i wdrożenia.

W poniższej tabeli przedstawiono wersję programu .NET Framework wymaganą do obsługi aplikacji ClickOnce w tych przeglądarkach.

Przeglądarka Wersja programu .NET Framework
Firefox 2.0 SP1, 3.5 SP1, 4
Chrom 3.5
Microsoft Edge 3.5