Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Utworzono aplikację WPF, WinForms lub WinUI 3 — teraz musisz uzyskać ją w rękach użytkowników. W tym przewodniku przedstawiono pełną ścieżkę od ukończonej kompilacji do opublikowanej aplikacji, obejmując dwa najbardziej typowe scenariusze dystrybucji: publikowanie w Microsoft Store (zalecane) oraz konfiguracja dystrybucji poprzez bezpośrednie pobieranie.
Wskazówka
Microsoft Store jest zalecaną ścieżką dla większości deweloperów. Obsługuje podpisywanie kodu, dostarczanie aktualizacji i odkrywanie — i jest to najłatwiejszy sposób dotarcia do użytkowników systemu Windows. Pobieranie bezpośrednie jest właściwym wyborem, jeśli masz określone wymagania dotyczące kwestii komercyjnych, korporacyjnych lub dystrybucyjnych, których Sklep nie spełnia.
Krok 1. Wybieranie ścieżki dystrybucji
Ścieżka dystrybucji określa koszty podpisywania kodu, mechanikę aktualizacji, sposób odnajdywania aplikacji przez użytkowników oraz sposobu wdrażania jej przez przedsiębiorstwa.
→ Wybierz ścieżkę dystrybucji dla swojej aplikacji Windows ma pełne porównanie. Krótko mówiąc:
- Microsoft Store — zalecane w przypadku większości aplikacji. Bezpłatne podpisywanie, wbudowane aktualizacje, szerokie możliwości odnajdywania i zaufane środowisko instalacji. Wymaga bezpłatnego konta dewelopera — zarejestruj się w storedeveloper.microsoft.com.
- Pobieranie bezpośrednie — odpowiednie dla komercyjnych niezależnych dostawców oprogramowania z własną witryną sklepu, aplikacjami biznesowymi dla przedsiębiorstw lub aplikacjami z zawartością, na którą sklep nie zezwala. Użytkownik jest odpowiedzialny za podpisywanie, hosting i aktualizacje.
Większość nowych aplikacji indie jest dobrym rozwiązaniem dla Sklepu. Jeśli nie masz pewności, zacznij tam.
Krok 2. Konfigurowanie podpisywania kodu
Jeśli publikujesz pakiet MSIX w Microsoft Store: pomiń ten krok. Microsoft ponownie podpisuje pakiet automatycznie w ramach procesu certyfikacji.
Jeśli przesyłasz instalator MSI/EXE win32 do Microsoft Store: nadal musisz podpisać instalatora przed przesłaniem. Instalator i jego pliki PE muszą być podpisane certyfikatem łańcuchowym do urzędu certyfikacji w programie Microsoft Trusted Root Program. Certyfikaty z podpisem własnym nie są akceptowalne. Zobacz Wymagania dotyczące pakietu aplikacji dla pliku MSI/EXE.
Jeśli dystrybuujesz bezpośrednio: potrzebujesz zaufanego certyfikatu podpisywania kodu. Niepodpisane aplikacje i aplikacje z podpisem własnym wyzwalają silne ostrzeżenia SmartScreen, a niektóre środowiska korporacyjne mogą je całkowicie blokować.
Opcje podpisywania kodu dla deweloperów aplikacji Windows ma pełne porównanie. Szybkie wskazówki:
- Organizations in USA, Canada, EU, or UK / Individuals in USA or Canada:Azure Artifact Signing (dawniej Trusted Signing) — około 9,99 USD/miesiąc, bez wymaganego tokenu sprzętowego, integruje się z pipeline'ami ciągłej integracji/ciągłego wdrażania. Jest to zalecana przez Microsoft opcja dla dystrybucji poza Store.
- Indywidualni deweloperzy poza USA/Kanadą lub każdy, kto nie kwalifikuje się do podpisywania artefaktów w Azure: certyfikat OV od Urzędu Certyfikacji, takiego jak DigiCert lub Sectigo — zazwyczaj 150 – 300 USD/rok.
Uwaga / Notatka
Podpisywanie aplikacji jest wymagane dla zapewnienia dobrej jakości podczas pierwszego uruchomienia. Nowa podpisana aplikacja będzie nadal wyświetlać ostrzeżenie SmartScreen, dopóki nie zbuduje reputacji — ale ostrzeżenie jest znacznie mniej poważne niż w przypadku niepodpisanych aplikacji. Zobacz reputację SmartScreen dla deweloperów, aby zrozumieć, co będą widzieć pierwsi użytkownicy.
Krok 3. Spakuj aplikację
Sposób tworzenia pakietu aplikacji zależy od używanej platformy aplikacji.
WinUI 3
Aplikacje WinUI 3 utworzone za pomocą szablonów projektów Zestaw SDK do aplikacji systemu Windows są domyślnie already spakowane jako MSIX. Podczas tworzenia rozwiązania w Visual Studio, dane wyjściowe są plikiem .msix lub .msixbundle, gotowym do przesyłania do sklepu lub dystrybucji bezpośredniej.
Jeśli chcesz dystrybuować rozpakowana aplikację WinUI 3 (bez pakowania MSIX), zobacz Dystrybuowanie rozpakowanej aplikacji WinUI 3. Aplikacje bez pakietu wymagają środowiska uruchomieniowego Zestaw SDK do aplikacji systemu Windows na komputerze użytkownika (zainstalowanego oddzielnie za pośrednictwem instalatora środowiska uruchomieniowego lub dołączonego w ramach wdrożenia samodzielnego).
PublishSingleFile jest obsługiwany w przypadku niepakietowanych, samodzielnych aplikacji w Zestaw SDK do aplikacji systemu Windows 1.5 i nowszych wersjach — wymagania znajdziesz w artykule Jednoplikowy plik EXE.
WPF i WinForms
projekty WPF i WinForms domyślnie nie generują pliku MSIX. Masz kilka opcji:
Opcja A: Projekt pakietowania aplikacji Windows (MSIX)
Dodaj projekt Windows Application Packaging do rozwiązania w Visual Studio. Ten proces opakowuje aplikację w pakiecie MSIX, zapewniając tożsamość pakietu, możliwość publikacji w Sklepie oraz aktualizacje przy użyciu Instalatora aplikacji. To jest zalecane podejście do zgłaszania do Sklepu.
Spakuj aplikację na komputery stacjonarne przy użyciu pojedynczego projektu MSIX
Opcja B: dotnet publish (samodzielny plik EXE)
W przypadku dystrybucji pobierania bezpośredniego dotnet publish z --self-contained tworzy autonomiczny plik EXE zawierający środowisko uruchomieniowe .NET — użytkownicy nie muszą instalować .NET oddzielnie.
dotnet publish -c Release -r win-x64 --self-contained true
Spowoduje to utworzenie folderu plików odpowiednich do spakowania i dystrybucji lub zawijania w instalatorze. Nie kwalifikuje się bezpośrednio do umieszczenia w Sklepie.
Opcja C: Publikowanie zależne od struktury
Pomiń --self-contained, jeśli chcesz, aby użytkownicy mieli zainstalowane poprawne środowisko uruchomieniowe .NET. Dane wyjściowe są mniejsze, ale mają zależność środowiska uruchomieniowego.
Krok 4a. Przesyłanie do Microsoft Store (zalecana ścieżka)
Proces przesyłania sklepu jest uruchamiany za pośrednictwem Centrum partnerskiego.
Kroki w skrócie:
- Utwórz konto dewelopera — bezpłatne. Zarejestruj się w storedeveloper.microsoft.com. Konto jest trwałe.
- Zarezerwuj nazwę aplikacji — przed przesłaniem podaj nazwę aplikacji w Centrum partnerskim. Nazwa jest przechowywana podczas opracowywania.
- Skompiluj i spakuj aplikację — utwórz pakiet MSIX spełniający wymagania sklepu. W przypadku przesyłek sklepowych pakiety MSIX/AppX nie wymagają zaufanego podpisu certyfikowanego przez urząd CA — Microsoft podpisuje ponownie pakiet certyfikatem Microsoft po certyfikacji. W przypadku dystrybucji poza Sklepem za pomocą instalatora MSI lub EXE zalecane jest podpisywanie przy użyciu Authenticode, które jest również oczekiwane przez funkcje zabezpieczeń systemu Windows.
- Utwórz zgłoszenie — załaduj pakiet, podaj szczegóły listingu w sklepie (opis, zrzuty ekranu, kategorie, klasyfikację wiekową) i ustal ceny.
- Certification — Microsoft przegląda aplikację pod kątem zgodności zasad. Certyfikacja zwykle trwa kilka dni roboczych dla nowych aplikacji.
- Publikowanie — po certyfikowaniu aplikacja zostanie wyświetlona w Sklepie i będzie dostępna dla użytkowników.
Utwórz przesyłanie swojej aplikacji
wymagania dotyczące pakietu aplikacji →
Krok 4b. Bezpośrednie dystrybuowanie (ścieżka alternatywna)
Jeśli dystrybuujesz aplikację poza Sklepem, masz kilka opcji tworzenia pakietów i hostingu.
Plik MSIX z instalatorem aplikacji (.appinstaller)
Pakiety MSIX dystrybuowane za pomocą pliku towarzyszącego .appinstaller obsługują automatyczne kontrole aktualizacji. Gdy użytkownicy instalują aplikację z pliku .appinstaller, Windows okresowo sprawdza adres URL określony dla nowszej wersji i oferuje aktualizację.
Ważna
ms-appinstaller Protokół URI (który umożliwia instalowanie bezpośrednio z linku internetowego) jest domyślnie wyłączony od grudnia 2023 r. ze względu na obawy dotyczące zabezpieczeń. Użytkownicy muszą pobrać plik .appinstaller lub .msix i otworzyć go ręcznie.
→ bieżący stan funkcji dystrybucji
ClickOnce (WPF i WinForms)
ClickOnce to technologia wdrażania .NET wbudowana w Visual Studio, która obsługuje aktualizacje automatyczne dla aplikacji WPF i WinForms. Użytkownicy instalują z hostowanego manifestu, a ClickOnce obsługuje aktualizacje bezproblemowo.
Technologia ClickOnce nie jest obsługiwana w przypadku aplikacji WinUI 3 — zamiast tego należy używać pliku MSIX .appinstaller .
Bezpieczeństwo i wdrażanie ClickOnce
Instalator EXE
Tradycyjny instalator EXE utworzony za pomocą narzędzia, takiego jak zestaw narzędzi WiX lub Instalator Inno , jest znany użytkownikom i jest prosty do utworzenia. Są to dobrze ugruntowane narzędzia społeczności używane przez wiele aplikacji Windows. Należy pamiętać, że instalatory EXE wymagają zaimplementowania własnego mechanizmu aktualizacji.
Hostowanie plików do pobrania
Typowe opcje hostingu pobierania bezpośredniego:
- GitHub Releases — bezpłatne, wersjonowane i integruje się z zautomatyzowanymi potokami kompilacji. Nadaje się do obsługi aplikacji typu open source i małych aplikacji komercyjnych.
- Własna witryna internetowa — pełna kontrola nad stroną pobierania, analizą i przepływem płatności. W przypadku wzrostu aplikacji potrzebna będzie niezawodna pojemność magazynu i sieci CDN.
- Sklepy innych firm — niektórzy programiści udostępniają w witrynach takich jak itch.io aplikacje powiązane z grami.
skrzydle na potrzeby odnajdywania
Przesyłanie aplikacji do Windows Menedżer pakietów Community Repository sprawia, że aplikacja jest instalowana za pośrednictwem winget install. Jest to szczególnie cenione przez deweloperów i zaawansowanych użytkowników, którzy preferują narzędzia wiersza polecenia. Przesyłanie jest prośbą o połączenie do repozytorium manifestu społeczności i jest bezpłatne.
Krok 5. Konfigurowanie automatycznej aktualizacji
Utrzymywanie użytkowników w najnowszej wersji zmniejsza obciążenie obsługi i zapewnia szybkie dotarcie do nich poprawek zabezpieczeń.
| Ścieżka dystrybucji | Mechanizm aktualizacji |
|---|---|
| Microsoft Store (MSIX) | Automatyczne — sklep dostarcza aktualizacje w tle |
| Microsoft Store (instalator MSI/EXE) | Ręczne — aplikacja lub instalator obsługuje aktualizacje; Sklep nie wypycha aktualizacji do istniejących użytkowników |
MSIX + .appinstaller |
Wbudowane — Windows sprawdza adres URL określony zgodnie z harmonogramem |
| ClickOnce | Wbudowane — sprawdza dostępność aktualizacji podczas uruchamiania |
| Instalator EXE lub samodzielny plik EXE | Wymagana implementacja ręczna |
W przypadku wdrożeń EXE lub samodzielnych wdrożeń niewyposażonych we wbudowany mechanizm aktualizacji, Velopack to narzędzie społeczności, które dodaje możliwość automatycznej aktualizacji i funkcje instalatora do aplikacji .NET. Nie jest to produkt Microsoft — oceń go na podstawie własnych wymagań.
Krok 6. Zarządzanie filtrem SmartScreen dla nowych aplikacji
Każda nowa aplikacja — niezależnie od tego, jak dobrze jest podpisana — wyzwoli ostrzeżenie filtru SmartScreen podczas pierwszego pobierania, dopóki nie zgromadzi wystarczającej historii pobierania. Jest to oczekiwane i normalne. Oto jak dobrze sobie z tym poradzić:
- Podpisz każde wydanie. Aplikacje niepodpisane pokazują bardziej surową blokadę "System Windows zabezpieczył komputer". Podpisane aplikacje wyświetlają łagodniejsze ostrzeżenie o "nierozpoznanej aplikacji", które użytkownicy mogą łatwiej pominąć.
- Ustaw oczekiwania dla wczesnych użytkowników. Poinformuj testerów beta i wczesnych użytkowników, czego można się spodziewać. Krótka notatka w ogłoszeniu o wydaniu ("Podczas pierwszego uruchomienia może pojawić się monit SmartScreen — to jest normalne dla nowych aplikacji; kliknij 'Więcej informacji', a następnie 'Uruchom mimo to') zapobiega nieporozumieniom i rezygnowaniu z instalacji.
- Bądź cierpliwy. Reputacja buduje się organicznie wraz z liczbą pobrań. Nie ma ręcznego procesu przesyłania, który umożliwiłby jego przyspieszenie dla konsumenckich punktów końcowych.
Reputacja SmartScreen dla deweloperów wyjaśnia pełny model reputacji, co użytkownicy widzą na każdym etapie oraz rozważania dotyczące polityki przedsiębiorstwa.
Co dalej?
Po opublikowaniu aplikacji można wykonywać następujące czynności:
- Monitorowanie kondycji i klasyfikacji aplikacji — Centrum partnerskie zapewnia analizę awarii, oceny użytkowników i przegląd zarządzania aplikacjami ze Sklepu
- Zarządzanie wersjami przy użyciu wdrożeń etapowych — sklep obsługuje wprowadzanie nowej wersji do procentu użytkowników przed pełnym wydaniem
- Skonfiguruj dane telemetryczne — rozważ integrację usługi analizy awarii i użycia, takiej jak aplikacja systemu Azure Insights lub inny zestaw narzędzi SDK do analizy, aby zrozumieć, jak aplikacja jest używana
- Reaguj na opinie użytkowników — Centrum Partnerskie wyświetla recenzje Sklepu; w przypadku aplikacji do bezpośredniego pobierania należy rozważyć kanał opinii (Problemy GitHub, dedykowany adres e-mail lub forum społeczności)
Treści powiązane
- Uzyj ścieżkę dystrybucji dla aplikacji Windows
- Koduj opcje podpisywania dla deweloperów aplikacji Windows
- Reputacja SmartScreen dla deweloperów
- Bieżący stan funkcji dystrybucji
- Utwórz przesłanie swojej aplikacji
- Azure Artifact Signing (dawniej Trusted Signing)
- Menedżer pakietów systemu Windows (winget)