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ędzie tworzenia i edycji manifestów.
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.
Wymagania wstępne
Ten przewodnik zawiera pewne wymagania wstępne i opcje, które należy wybrać przed utworzeniem wdrożenia.
Instalowanie
Mage.exe
i MageUI.exe.Mage.exe
iMageUI.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. Aby uzyskać więcej informacji, zobacz Zestaw Windows SDK w witrynie MSDN.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ć Web, udział 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.
Należy podpisać wdrożenie przy użyciu certyfikatu Authenticode. Certyfikat testowy można wygenerować przy użyciu programu Visual Studio,
MageUI.exe
lub narzędziPvk2Pfx.exe
lubMakeCert.exe
możesz uzyskać certyfikat z urzędu certyfikacji. 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
Możesz również podpisać wdrożenie przy użyciu certyfikatu CNG, który można uzyskać z urzędu certyfikacji.
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 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ć program rozruchowy instalacji wymagań wstępnych (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 polecenia Mage.exe
Utwórz katalog, w którym będą przechowywane pliki wdrożenia technologii ClickOnce.
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
Wersja wdrożenia może być różna od wersji aplikacji.
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.
Otwórz wiersz polecenia zestawu Windows SDK lub programu Visual Studio i przejdź do podkatalogu wersji.
Utwórz manifest aplikacji z wywołaniem , aby 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
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.Podpisz manifest aplikacji przy użyciu certyfikatu Authenticode. Zastąp
mycert.pfx
ciąg ścieżką do 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.Przejdź do katalogu głównego katalogu wdrażania.
Wygeneruj manifest wdrożenia za pomocą wywołania metody
Mage.exe
. DomyślnieMage.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 udziału plików, upewnij się, że wartość-ProviderUrl
opcji wskazuje lokalizację manifestu aplikacji na serwerze sieci Web lub udziale.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
Podpisz manifest wdrożenia przy użyciu certyfikatu Authenticode lub CNG.
mage -Sign AppToDeploy.application -CertFile mycert.pfx -Password passwd
Skopiuj wszystkie pliki w katalogu wdrażania do miejsca docelowego lub nośnika wdrożenia. Może to być folder w witrynie sieci Web lub witrynie FTP, udziale plików lub cd-ROM.
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 adresu URL tohttp://webserver01/AppToDeploy/AppToDeploy.application
.
Aby wdrożyć aplikację za pomocą narzędzia graficznego MageUI.exe
Utwórz katalog, w którym będą przechowywane pliki wdrożenia technologii ClickOnce.
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
Wersja wdrożenia prawdopodobnie różni się od wersji aplikacji.
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.
MageUI.exe
Uruchom narzędzie graficzne.MageUI.exe
Utwórz nowy manifest aplikacji, wybierając pozycję Plik, Nowy, Manifest aplikacji z menu.
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.
Wybierz kartę Pliki , a następnie wybierz przycisk wielokropka (...) obok pola tekstowego Katalog aplikacji. Zostanie wyświetlone okno dialogowe Przeglądaj dla folderu .
Wybierz podkatalog wersji zawierający pliki aplikacji, a następnie wybierz przycisk OK.
Jeśli wdrożysz z usług Internet Information Services (IIS), zaznacz pole wyboru Podczas wypełniania dodaj rozszerzenie .deploy do dowolnego pliku, który nie ma go .
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).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.
Wybierz pozycję Plik, Zapisz jako z menu. Zostanie wyświetlone okno dialogowe Opcje podpisywania z monitem o podpisanie manifestu aplikacji.
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.
Wybierz przycisk OK , aby podpisać manifest aplikacji. Zostanie wyświetlone okno dialogowe Zapisywanie jako.
W oknie dialogowym Zapisz jako określ katalog wersji, a następnie wybierz pozycję Zapisz.
Wybierz pozycję Plik, Nowy, Manifest wdrożenia z menu, aby utworzyć manifest wdrożenia.
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.
Wybierz kartę Opis i określ wartości dla pól Publisher i Product. (Produkt jest nazwą nadaną aplikacji w systemie Windows menu Start podczas instalowania aplikacji na komputerze klienckim do użytku w trybie offline).
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.
Jeśli rozszerzenie zostało dodane
.deploy
w poprzednim kroku, wybierz również opcję Użyj rozszerzenia .deploy file name tutaj.Wybierz kartę Opcje aktualizacji i określ częstotliwość aktualizacji tej aplikacji. Jeśli aplikacja używa UpdateCheckInfo funkcji do sprawdzania dostępności aktualizacji, wyczyść pole wyboru Ta aplikacja powinna zaznaczyć pole wyboru Aktualizacje .
Wybierz kartę Dokumentacja aplikacji, a następnie przejdź do przycisku Wybierz manifest . Zostanie wyświetlone otwarte okno dialogowe.
Wybierz utworzony wcześniej manifest aplikacji, a następnie wybierz pozycję Otwórz.
Wybierz pozycję Plik, Zapisz jako z menu. Zostanie wyświetlone okno dialogowe Opcje podpisywania z monitem o podpisanie manifestu wdrożenia.
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.
Przejdź do obszaru OK , aby podpisać manifest wdrożenia. Zostanie wyświetlone okno dialogowe Zapisywanie jako.
W oknie dialogowym Zapisz jako przenieś jeden katalog do katalogu głównego wdrożenia, a następnie wybierz pozycję Zapisz.
Skopiuj wszystkie pliki w katalogu wdrażania do miejsca docelowego lub nośnika wdrożenia. Może to być folder w witrynie sieci Web lub witrynie FTP, udziale plików lub cd-ROM.
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ę manifestu wdrożenia. Jeśli na przykład aplikacja AppToDeploy zostanie wdrożona
http://webserver01/
w katalogu AppToDeploy, pełna ścieżka adresu URL tohttp://webserver01/AppToDeploy/AppToDeploy.application
.
Następne 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 określić tę samą wyższą wersję w wywołaniach Mage.exe
-New
i -Update
, ponieważ funkcja ClickOnce aktualizuje tylko wyższe wersje, a najbardziej znacząca liczba całkowita po lewej stronie. 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.