Przewodnik: ręcznie wdróż aplikację ClickOnce, która nie wymaga ponownego podpisywania i która zachowuje informacje o znakowaniu

Po utworzeniu aplikacji ClickOnce, a następnie przekazaniu jej klientowi do publikowania i wdrażania, klient tradycyjnie musiał zaktualizować manifest wdrożenia i ponownie go podpisać. Mimo że jest to nadal preferowana metoda w większości przypadków, program .NET Framework 3.5 umożliwia tworzenie wdrożeń ClickOnce, które mogą być wdrażane przez klientów bez konieczności ponownego generowania nowego manifestu wdrożenia. Aby uzyskać więcej informacji, zobacz Wdrażanie aplikacji ClickOnce na potrzeby testowania i serwerów produkcyjnych bez rezygnacji.

Po utworzeniu aplikacji ClickOnce i przekazaniu jej klientowi do publikowania i wdrażania aplikacja może używać znakowania klienta lub zachować znakowanie. Jeśli na przykład aplikacja jest jedną zastrzeżoną aplikacją, możesz chcieć zachować znakowanie. Jeśli aplikacja jest wysoce dostosowana dla każdego klienta, możesz chcieć użyć znakowania klienta. Program .NET Framework 3.5 umożliwia zachowanie znakowania, informacji wydawcy i podpisu zabezpieczeń podczas nadawania aplikacji organizacji do wdrożenia. Aby uzyskać więcej informacji, zobacz Create ClickOnce applications for others to deploy (Tworzenie aplikacji ClickOnce dla innych osób do wdrożenia).

Uwaga

W tym przewodniku utworzysz wdrożenia ręcznie przy użyciu narzędzia wiersza polecenia Mage.exe lub narzędzia graficznego MageUI.exe. Aby uzyskać więcej informacji na temat wdrożeń ręcznych, zobacz Przewodnik: ręczne wdrażanie aplikacji ClickOnce.

Uwaga

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

Wymagania wstępne

Aby wykonać kroki opisane w tym przewodniku, potrzebne są następujące elementy:

  • Aplikacja Windows Forms, którą można wdrożyć. Ta aplikacja będzie określana jako WindowsFormsApp1.

  • Visual Studio lub Windows SDK.

Aby wdrożyć aplikację ClickOnce z obsługą wielu wdrożeń i znakowania przy użyciu narzędzia Mage.exe

  1. Otwórz wiersz polecenia programu Visual Studio lub wiersz polecenia zestawu Windows SDK i przejdź do katalogu, w którym będą przechowywane pliki ClickOnce.

  2. Utwórz katalog o nazwie po bieżącej wersji wdrożenia. Jeśli po raz pierwszy wdrażasz aplikację, prawdopodobnie wybierzesz 1.0.0.0.

    Uwaga

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

  3. Utwórz podkatalog o nazwie bin i skopiuj w tym miejscu wszystkie pliki aplikacji, w tym pliki wykonywalne, zestawy, zasoby i pliki danych.

  4. Wygeneruj manifest aplikacji za pomocą wywołania pliku Mage.exe.

    mage -New Application -ToFile 1.0.0.0\WindowsFormsApp1.exe.manifest -Name "Windows Forms App 1" -Version 1.0.0.0 -FromDirectory 1.0.0.0\bin -UseManifestForTrust true -Publisher "A. Datum Corporation"
    
  5. Podpisz manifest aplikacji przy użyciu certyfikatu cyfrowego.

    mage -Sign WindowsFormsApp1.exe.manifest -CertFile mycert.pfx
    
  6. Wygeneruj manifest wdrożenia za pomocą wywołania pliku Mage.exe. Domyślnie program Mage.exe oznaczy wdrożenie ClickOnce jako zainstalowaną aplikację, aby można było uruchomić ją zarówno w trybie online, jak i offline. Aby udostępnić aplikację tylko wtedy, gdy użytkownik jest w trybie online, użyj argumentu -i z wartością f. Ponieważ ta aplikacja skorzysta z wielu funkcji wdrażania, wyklucz -providerUrl argument mage.exe. (W wersjach programu .NET Framework wcześniejszych niż wersja 3.5 wykluczenie -providerUrl aplikacji w trybie offline spowoduje wystąpienie błędu).

    mage -New Deployment -ToFile WindowsFormsApp1.application -Name "Windows Forms App 1" -Version 1.0.0.0 -AppManifest 1.0.0.0\WindowsFormsApp1.manifest
    
  7. Nie podpisuj manifestu wdrożenia.

  8. Podaj wszystkie pliki klientowi, który wdroży aplikację w swojej sieci.

  9. W tym momencie klient musi podpisać manifest wdrożenia przy użyciu własnego certyfikatu wygenerowanego samodzielnie. Jeśli na przykład klient pracuje dla firmy o nazwie Adventure Works, może wygenerować certyfikat z podpisem własnym przy użyciu narzędzia MakeCert.exe . Następnie użyj narzędzia Pvk2pfx.exe, aby połączyć pliki utworzone przez narzędzie MakeCert.exe w plik PFX, który można przekazać do pliku Mage.exe.

    makecert -r -pe -n "CN=Adventure Works" -sv MyCert.pvk MyCert.cer
    pvk2pfx.exe -pvk MyCert.pvk -spc MyCert.cer -pfx MyCert.pfx
    
  10. Następnie klient użyje tego certyfikatu do podpisania manifestu wdrożenia.

    mage -Sign WindowsFormsApp1.application -CertFile MyCert.pfx
    
  11. Klient wdraża aplikację dla swoich użytkowników.

Aby wdrożyć aplikację ClickOnce z obsługą wielu wdrożeń i znakowania przy użyciu narzędzia MageUI.exe

  1. Otwórz wiersz polecenia programu Visual Studio lub wiersz polecenia zestawu Windows SDK i przejdź do katalogu, w którym będą przechowywane pliki ClickOnce.

  2. Utwórz podkatalog o nazwie bin i skopiuj w tym miejscu wszystkie pliki aplikacji, w tym pliki wykonywalne, zestawy, zasoby i pliki danych.

  3. Utwórz podkatalog o nazwie po bieżącej wersji wdrożenia. Jeśli po raz pierwszy wdrażasz aplikację, prawdopodobnie wybierzesz 1.0.0.0.

    Uwaga

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

  4. Przenieś katalog \bin do katalogu utworzonego w kroku 2.

  5. Uruchom narzędzie graficzne MageUI.exe.

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

  7. Na domyślnej karcie Nazwa wprowadź nazwę i numer wersji tego wdrożenia. Ponadto podaj wartość dla programu Publisher, która będzie używana jako nazwa folderu dla linku skrótu aplikacji w menu Start podczas wdrażania.

  8. Wybierz kartę Opcje aplikacji i kliknij pozycję Użyj manifestu aplikacji dla informacji o zaufaniu. Umożliwi to znakowanie innych firm dla tej aplikacji ClickOnce.

  9. Wybierz kartę Pliki i kliknij przycisk Przeglądaj obok pola tekstowego Katalog aplikacji.

  10. Wybierz katalog zawierający pliki aplikacji utworzone w kroku 2, a następnie kliknij przycisk OK w oknie dialogowym wyboru folderu.

  11. Kliknij przycisk 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, Plik MageUI.exe oznaczy go za Ciebie).

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

  13. Wybierz pozycję Plik, Zapisz z menu i zapisz manifest aplikacji. Po zapisaniu manifestu aplikacji zostanie wyświetlony monit.

  14. Jeśli masz certyfikat przechowywany jako plik w systemie plików, użyj opcji Podpis jako plik certyfikatu i wybierz certyfikat z systemu plików przy użyciu przycisku wielokropka (...).

    — lub —

    Jeśli certyfikat jest przechowywany w magazynie certyfikatów, do którego można uzyskać dostęp z komputera, wybierz opcję Podpisz z zapisanym certyfikatem i wybierz certyfikat z podanej listy.

  15. Wybierz pozycję Plik, Nowy, Manifest wdrożenia z menu, aby utworzyć manifest wdrożenia, a następnie na karcie Nazwa podaj nazwę i numer wersji (w tym przykładzie 1.0.0.0).

  16. Przejdź do karty Aktualizacja i określ, jak często ta aplikacja ma zostać zaktualizowana. Jeśli aplikacja używa interfejsu API wdrażania ClickOnce do sprawdzania dostępności aktualizacji, wyczyść pole wyboru oznaczone etykietą Ta aplikacja powinna sprawdzać dostępność aktualizacji.

  17. Przejdź do karty Dokumentacja aplikacji. Możesz wstępnie wypełnić wszystkie wartości na tej karcie, klikając przycisk Wybierz manifest i wybierając manifest aplikacji utworzony w poprzednich krokach.

  18. Wybierz pozycję Zapisz i zapisz manifest wdrożenia na dysku. Po zapisaniu manifestu aplikacji zostanie wyświetlony monit. Kliknij przycisk Anuluj , aby zapisać manifest bez jego podpisywania.

  19. Podaj wszystkie pliki aplikacji klientowi.

  20. W tym momencie klient musi podpisać manifest wdrożenia przy użyciu własnego certyfikatu wygenerowanego samodzielnie. Jeśli na przykład klient pracuje dla firmy o nazwie Adventure Works, może wygenerować certyfikat z podpisem własnym przy użyciu narzędzia MakeCert.exe . Następnie użyj narzędzia Pvk2pfx.exe, aby połączyć pliki utworzone przez narzędzie MakeCert.exe w plik PFX, który można przekazać do pliku MageUI.exe.

    makecert -r -pe -n "CN=Adventure Works" -sv MyCert.pvk MyCert.cer
    pvk2pfx.exe -pvk MyCert.pvk -spc MyCert.cer -pfx MyCert.pfx
    
  21. Po wygenerowaniu certyfikatu klient podpisuje manifest wdrożenia, otwierając manifest wdrożenia w pliku MageUI.exe, a następnie zapisując go. Po wyświetleniu okna dialogowego podpisywania klient wybiera opcję Podpisz jako plik certyfikatu i wybiera plik PFX zapisany na dysku.

  22. Klient wdraża aplikację dla swoich użytkowników.