Zabezpieczenia i wdrażanie technologii ClickOnce

ClickOnce to technologia wdrażania umożliwiająca tworzenie automatycznie aktualizowanych aplikacji dla systemu Windows, instalowanych i uruchamianych przy minimalnej interakcji ze strony 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; W przypadku wdrożenia 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 sieci Web, z udziału plików sieciowych 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 Wybieranie strategii 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 można również wycofać do wcześniejszej wersji przez użytkownika końcowego lub przez administratora. Aby uzyskać więcej informacji, zobacz Wybieranie strategii 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 Secure ClickOnce applications (Bezpieczne 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 zaufanych aplikacji.

Zabezpieczenia dostępu kodu

Zabezpieczenia dostępu do kodu pomagają ograniczyć dostęp do chronionych zasobów przez kod. W większości przypadków można wybrać strefy Internet lub Lokalny intranet, aby ograniczyć uprawnienia. Użyj strony Zabezpieczenia w projekcie Projektant 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.

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 How to: Configure the ClickOnce trust prompt behavior (Instrukcje: konfigurowanie zachowania 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 miejsca instalowania aplikacji ClickOnce, sposobu ich aktualizowania i aktualizowania.

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 autorów manifestu aplikacji przy użyciu Kreatora publikowania w programie Visual Studio (narzędzie publikowania dla platform .NET Core i .NET 5 lub nowszych) lub Narzędzie tworzenia i edycji manifestów (Mage.exe) w zestawie SDK systemu Windows. 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 dla platformy .NET.

Wdrażanie aplikacji ClickOnce

Po utworzeniu manifest wdrożenia zostanie skopiowany do lokalizacji wdrożenia. Może to być serwer sieci Web, udział plików sieciowych lub starsze 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 przyznanie użytkownikowi 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 na temat podwyższonych uprawnień, 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 zaufanych aplikacji.

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

Uwaga

Istnieje również możliwość uniemożliwienia dodawania aplikacji do menu Start i grupy Dodaj lub Usuń programy , co w efekcie zachowuje się jak aplikacja internetowa. Aby uzyskać więcej informacji, zobacz Wybieranie strategii 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

Kreator publikowania w programie Visual Studio może służyć do wykonywania tych kroków. 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 sieciowy udział plików), w której aplikacja sprawdza zaktualizowane wersje. Właściwości publikowania ClickOnce służą 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 publikowania w celu wprowadzania aktualizacji obowiązkowych 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 programu inicjjącego.

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 zabezpieczeń, Projektant projektu Podpisuje manifesty aplikacji i wdrożenia. W przypadku platform .NET Core i .NET 5+te ustawienia znajdują się w profilu Publikowania.
Strona publikowania, Projektant projektu 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 tworzenia i edycji manifestów) 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ć z poziomu skryptów wsadowych i wiersza polecenia.
dotnetmage.exe (Narzędzie tworzenia i edycji manifestów) Generuje manifesty aplikacji i wdrażania dla aplikacji .NET 5+ C# i Visual Basic. Użycie jest równoważne Mage.exe.

Podpisuje i ponownie podpisuje manifesty aplikacji i wdrożenia.

Można uruchamiać z poziomu skryptów wsadowych i wiersza polecenia.
MageUI.exe (Narzędzie tworzenia i edycji manifestów, klient graficzny) Generuje i edytuje manifesty aplikacji i wdrożenia.

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

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

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

Można uruchomić z programu MSBuild. Aby uzyskać więcej informacji, zobacz MSBuild reference (Dokumentacja programu MSBuild).
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 systemu .NET Framework
Internet Explorer 2.0, 3.0, 3.5, 3.5 SP1, 4
Firefox 2.0 SP1, 3.5 SP1, 4
Chrome 3.5
Microsoft Edge 3.5