Udostępnij za pomocą


Przewodnik: ręczne wdrażanie aplikacji ClickOnce

Jeśli nie możesz użyć programu Visual Studio do wdrożenia aplikacji ClickOnce lub musisz użyć zaawansowanych funkcji wdrażania, takich jak wdrożenie zaufanej aplikacji, należy użyć Mage.exe narzędzia wiersza polecenia, aby utworzyć manifesty ClickOnce. W tym przewodniku opisano sposób tworzenia wdrożenia technologii ClickOnce przy użyciu wersji wiersza polecenia (Mage.exe) lub wersji graficznej (MageUI.exe) narzędzia generowania i edytowania manifestu.

Uwaga / Notatka

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.

Wymagania wstępne

Ten przewodnik zawiera pewne wymagania wstępne i opcje, które należy wybrać przed utworzeniem wdrożenia.

  • Zainstaluj Mage.exe i MageUI.exe.

    Mage.exe i MageUI.exe są częścią zestawu Windows Software Development Kit (SDK). Musisz mieć zainstalowany zestaw Windows SDK lub wersję zestawu Windows SDK dołączonego do programu Visual Studio.

  • Podaj aplikację do wdrożenia.

    W tym przewodniku założono, że masz aplikację systemu Windows, którą można wdrożyć. Ta aplikacja będzie określana jako AppToDeploy.

  • Określ sposób dystrybucji wdrożenia.

    Opcje dystrybucji obejmują: sieć, udostępnianie plików lub dysk CD. Aby uzyskać więcej informacji, zobacz ClickOnce Security and Deployment (Zabezpieczenia i wdrażanie technologii ClickOnce).

  • Ustal, czy aplikacja wymaga podwyższonego poziomu zaufania.

    Jeśli aplikacja wymaga pełnego zaufania — na przykład pełnego dostępu do systemu użytkownika — możesz użyć -TrustLevel opcji , Mage.exe aby to ustawić. Jeśli chcesz zdefiniować niestandardowy zestaw uprawnień dla aplikacji, możesz skopiować sekcję uprawnień Internet lub intranet z innego manifestu, zmodyfikować go zgodnie z potrzebami i dodać go do manifestu aplikacji przy użyciu edytora tekstów lub MageUI.exe. Aby uzyskać więcej informacji, zobacz Omówienie zaufanego wdrażania aplikacji.

  • Uzyskaj certyfikat Authenticode.

    Wdrożenie należy podpisać certyfikatem Authenticode. Certyfikat testowy można wygenerować przy użyciu programu Visual Studio, MageUI.exe, lub MakeCert.exe i Pvk2Pfx.exe albo można uzyskać certyfikat z Urzędu Certyfikacji (CA). Jeśli zdecydujesz się używać wdrożenia zaufanej aplikacji, należy również przeprowadzić jednorazową instalację certyfikatu na wszystkich komputerach klienckich. Aby uzyskać więcej informacji, zobacz Omówienie zaufanego wdrażania aplikacji.

    Uwaga / Notatka

    Możesz również podpisać wdrożenie przy użyciu certyfikatu CNG, który można uzyskać od organizacji certyfikującej.

  • Upewnij się, że aplikacja nie ma manifestu z informacjami o kontroli dostępu użytkownika.

    Musisz określić, czy aplikacja zawiera manifest z informacjami kontroli konta użytkownika (UAC), takimi jak <dependentAssembly> element. Aby zbadać manifest aplikacji, możesz użyć narzędzia Windows Sysinternals Sigcheck .

    Jeśli aplikacja zawiera manifest ze szczegółami kontroli dostępu użytkownika, należy ją ponownie skompilować bez informacji o kontroli dostępu użytkownika. W przypadku projektu w języku C# w programie Visual Studio otwórz właściwości projektu i wybierz kartę Aplikacja. Z listy rozwijanej Manifest wybierz pozycję Utwórz aplikację bez manifestu. W przypadku projektu Visual Basic w programie Visual Studio otwórz właściwości projektu, wybierz kartę Aplikacja, a następnie kliknij pozycję Wyświetl ustawienia Kontroli Konta Użytkownika. W otwartym pliku manifestu usuń wszystkie elementy w ramach pojedynczego <asmv1:assembly> elementu.

  • Ustal, czy aplikacja wymaga wymagań wstępnych na komputerze klienckim.

    Aplikacje ClickOnce wdrożone z poziomu programu Visual Studio mogą zawierać wstępnie wymagany program rozruchowy (setup.exe) we wdrożeniu. Ten przewodnik tworzy dwa manifesty wymagane do wdrożenia technologii ClickOnce. Aby utworzyć wstępne narzędzie inicjująco, możesz użyć zadania GenerateBootstrapper.

Aby wdrożyć aplikację za pomocą narzędzia wiersza poleceń Mage.exe

  1. Utwórz katalog, w którym będą przechowywane pliki wdrożenia technologii ClickOnce.

  2. W właśnie utworzonym katalogu wdrożenia utwórz podkatalog wersji. Jeśli po raz pierwszy wdrażasz aplikację, nadaj podkatalogowi wersji nazwę 1.0.0.0.

    Uwaga / Notatka

    Wersja wdrożenia może być różna od wersji aplikacji.

  3. Skopiuj wszystkie pliki aplikacji do podkatalogu wersji, w tym pliki wykonywalne, zestawy, zasoby i pliki danych. W razie potrzeby możesz utworzyć dodatkowe podkatalogi zawierające dodatkowe pliki.

  4. Otwórz wiersz polecenia zestawu Windows SDK lub programu Visual Studio i przejdź do podkatalogu wersji.

  5. Utwórz manifest aplikacji za pomocą wywołania Mage.exe. Poniższa instrukcja tworzy manifest aplikacji dla kodu skompilowanego w celu uruchomienia na procesorze Intel x86.

    mage -New Application -Processor x86 -ToFile AppToDeploy.exe.manifest -name "My App" -Version 1.0.0.0 -FromDirectory .
    

    Uwaga / Notatka

    Pamiętaj, aby po opcji uwzględnić kropkę -FromDirectory (.), która wskazuje bieżący katalog. Jeśli nie dołączysz kropki, musisz określić ścieżkę do plików aplikacji.

  6. Podpisz manifest aplikacji przy użyciu certyfikatu Authenticode. Zastąp mycert.pfx ścieżką do twojego pliku certyfikatu. Zastąp wartość passwd hasłem dla pliku certyfikatu.

    mage -Sign AppToDeploy.exe.manifest -CertFile mycert.pfx -Password passwd
    

    Począwszy od zestawu .NET Framework 4.6.2 SDK, który jest dystrybuowany za pomocą programu Visual Studio i zestawu Windows SDK, mage.exe podpisuje manifesty przy użyciu języka CNG, a także certyfikaty Authenticode. Użyj tych samych parametrów wiersza polecenia co w przypadku certyfikatów Authenticode.

  7. Przejdź do katalogu głównego wdrożenia.

  8. Wygeneruj manifest wdrożenia za pomocą wywołania metody Mage.exe. Domyślnie Mage.exe będzie oznaczać wdrożenie ClickOnce jako zainstalowaną aplikację, aby można było ją uruchomić zarówno w trybie online, jak i w trybie offline. Aby udostępnić aplikację tylko wtedy, gdy użytkownik jest w trybie online, użyj -Install opcji z wartością false. Jeśli używasz wartości domyślnej, a użytkownicy zainstalują aplikację z witryny sieci Web lub zasobu sieciowego, upewnij się, że wartość opcji -ProviderUrl wskazuje lokalizację manifestu aplikacji na serwerze WWW lub zasobie.

    mage -New Deployment -Processor x86 -Install true -Publisher "My Co." -ProviderUrl "\\myServer\myShare\AppToDeploy.application" -AppManifest 1.0.0.0\AppToDeploy.exe.manifest -ToFile AppToDeploy.application
    
  9. Podpisz manifest wdrożenia przy użyciu certyfikatu Authenticode lub CNG.

    mage -Sign AppToDeploy.application -CertFile mycert.pfx -Password passwd
    
  10. Skopiuj wszystkie pliki w katalogu wdrażania do miejsca docelowego wdrożenia lub na nośnik. Może to być folder w witrynie sieci Web lub witrynie FTP, udziale plików lub cd-ROM.

  11. Podaj użytkownikom adres URL, UNC lub nośnik fizyczny wymagany do zainstalowania aplikacji. Jeśli podasz adres URL lub UNC, musisz przyznać użytkownikom pełną ścieżkę do manifestu wdrożenia. Jeśli na przykład aplikacja AppToDeploy zostanie wdrożona http://webserver01/ w katalogu AppToDeploy, pełna ścieżka do adresu URL będzie http://webserver01/AppToDeploy/AppToDeploy.application.

Aby wdrożyć aplikację za pomocą narzędzia graficznego MageUI.exe

  1. Utwórz katalog, w którym będą przechowywane pliki wdrożenia technologii ClickOnce.

  2. W właśnie utworzonym katalogu wdrożenia utwórz podkatalog wersji. Jeśli po raz pierwszy wdrażasz aplikację, nadaj podkatalogowi wersji nazwę 1.0.0.0.

    Uwaga / Notatka

    Wersja wdrożenia prawdopodobnie różni się od wersji aplikacji.

  3. Skopiuj wszystkie pliki aplikacji do podkatalogu wersji, w tym pliki wykonywalne, zestawy, zasoby i pliki danych. W razie potrzeby możesz utworzyć dodatkowe podkatalogi zawierające dodatkowe pliki.

  4. MageUI.exe Uruchom narzędzie graficzne.

    MageUI.exe
    
  5. Utwórz nowy manifest aplikacji, wybierając pozycję Plik, Nowy, Manifest aplikacji z menu.

  6. Na domyślnej karcie Nazwa wpisz nazwę i numer wersji tego wdrożenia. Określ również procesor , dla którego utworzono aplikację, na przykład x86.

  7. Wybierz kartę Pliki , a następnie wybierz przycisk wielokropka (...) obok pola tekstowego Katalog aplikacji . Zostanie wyświetlone okno dialogowe Przeglądanie folderów.

  8. Wybierz podkatalog wersji zawierający pliki aplikacji, a następnie wybierz przycisk OK.

  9. Jeśli wdrożysz w usługach Internet Information Services (IIS), zaznacz pole wyboru Podczas tworzenia zasobów dodaj rozszerzenie .deploy do każdego pliku, który go nie ma.

  10. Przejdź do przycisku Wypełnij , aby dodać wszystkie pliki aplikacji do listy plików. Jeśli aplikacja zawiera więcej niż jeden plik wykonywalny, oznacz główny plik wykonywalny dla tego wdrożenia jako aplikację startową, wybierając pozycję Punkt wejścia z listy rozwijanej Typ pliku . (Jeśli aplikacja zawiera tylko jeden plik wykonywalny, MageUI.exe oznaczy go za Ciebie).

  11. Wybierz kartę Wymagane uprawnienia i wybierz poziom zaufania potrzebny aplikacji do potwierdzenia. Wartość domyślna to FullTrust, która będzie odpowiednia dla większości aplikacji.

  12. Wybierz pozycję Plik, Zapisz jako z menu. Zostanie wyświetlone okno dialogowe Opcje podpisywania z monitem o podpisanie manifestu aplikacji.

  13. Jeśli masz certyfikat przechowywany jako plik w systemie plików, użyj opcji Podpisz z plikiem certyfikatu i wybierz certyfikat z systemu plików przy użyciu przycisku wielokropka (...). Następnie wpisz hasło certyfikatu.

    — lub —

    Jeśli certyfikat jest przechowywany w magazynie certyfikatów dostępnym z komputera, wybierz opcję Podpisz z zapisanym certyfikatem i wybierz certyfikat z podanej listy.

  14. Wybierz przycisk OK , aby podpisać manifest aplikacji. Zostanie wyświetlone okno dialogowe Zapisywanie jako.

  15. W oknie dialogowym Zapisz jako określ katalog wersji, a następnie wybierz pozycję Zapisz.

  16. Wybierz pozycję Plik, Nowy, Manifest wdrożenia z menu, aby utworzyć manifest wdrożenia.

  17. Na karcie Nazwa określ nazwę i numer wersji dla tego wdrożenia (w tym przykładzie 1.0.0.0 ). Określ również procesor , dla którego utworzono aplikację, na przykład x86.

  18. Wybierz kartę Opis i określ wartości dla pól Publisher i Product. (Produkt to nazwa nadana aplikacji w menu Start systemu Windows, gdy aplikacja jest instalowana na komputerze klienckim do użytku w trybie offline).

  19. Wybierz kartę Opcje wdrażania , a następnie w polu tekstowym Lokalizacja początkowa określ lokalizację manifestu aplikacji na serwerze sieci Web lub udziale. Na przykład \\myServer\myShare\AppToDeploy.application.

  20. Jeśli rozszerzenie .deploy zostało dodane w poprzednim kroku, tutaj wybierz również opcję Użyj rozszerzenia nazwy pliku .deploy.

  21. Wybierz kartę Opcje aktualizacji i określ częstotliwość aktualizacji tej aplikacji. Jeśli aplikacja używa UpdateCheckInfo do samodzielnego sprawdzania aktualizacji, odznacz pole wyboru Ta aplikacja powinna sprawdzać aktualizacje.

  22. Wybierz kartę Dokumentacja aplikacji , a następnie przejdź do przycisku Wybierz manifest . Zostanie wyświetlone otwarte okno dialogowe.

  23. Wybierz utworzony wcześniej manifest aplikacji, a następnie wybierz pozycję Otwórz.

  24. Wybierz pozycję Plik, Zapisz jako z menu. Zostanie wyświetlone okno dialogowe Opcje podpisywania z monitem o podpisanie manifestu wdrożenia.

  25. Jeśli masz certyfikat przechowywany jako plik w systemie plików, użyj opcji Podpisz z plikiem certyfikatu i wybierz certyfikat z systemu plików przy użyciu przycisku wielokropka (...). Następnie wpisz hasło certyfikatu.

    — lub —

    Jeśli certyfikat jest przechowywany w magazynie certyfikatów dostępnym z komputera, wybierz opcję Podpisz z zapisanym certyfikatem i wybierz certyfikat z podanej listy.

  26. Przejdź do obszaru OK , aby podpisać manifest wdrożenia. Zostanie wyświetlone okno dialogowe Zapisywanie jako.

  27. W oknie dialogowym Zapisz jako przenieś jeden katalog do katalogu głównego wdrożenia, a następnie wybierz pozycję Zapisz.

  28. Skopiuj wszystkie pliki w katalogu wdrażania do miejsca docelowego wdrożenia lub na nośnik. Może to być folder w witrynie sieci Web lub witrynie FTP, udziale plików lub cd-ROM.

  29. Podaj użytkownikom adres URL, UNC lub nośnik fizyczny wymagany do zainstalowania aplikacji. Jeśli podasz adres URL lub UNC, musisz przyznać użytkownikom pełną ścieżkę do manifestu wdrożenia. Jeśli na przykład aplikacja AppToDeploy zostanie wdrożona http://webserver01/ w katalogu AppToDeploy, pełna ścieżka do adresu URL będzie http://webserver01/AppToDeploy/AppToDeploy.application.

Dalsze kroki

Jeśli musisz wdrożyć nową wersję aplikacji, utwórz nowy katalog o nazwie po nowej wersji — na przykład 1.0.0.1 — i skopiuj nowe pliki aplikacji do nowego katalogu. Następnie należy wykonać poprzednie kroki, aby utworzyć i podpisać nowy manifest aplikacji oraz zaktualizować i podpisać manifest wdrożenia. Należy zachować ostrożność, aby podać tę samą wyższą wersję w wywołaniach Mage.exe-New i -Update, ponieważ funkcja ClickOnce aktualizuje tylko wyższe wersje, przy czym lewa liczba całkowita jest najbardziej znacząca. Jeśli użyto MageUI.exe, możesz zaktualizować manifest wdrożenia, otwierając go, wybierając kartę Dokumentacja aplikacji , przejdź do przycisku Wybierz manifest , a następnie wybierając zaktualizowany manifest aplikacji.