Freigeben über


Auswählen eines Verteilungspfads für Ihre Windows-App

Wie Sie Ihre Windows-App verteilen, wirkt sich auf Codesignaturkosten, Updatemechanik, Unternehmensverwaltbarkeit und wie einfach Kunden die App auffinden und installieren. In diesem Artikel werden die Wichtigsten Pfade verglichen, die Ihnen dabei helfen, die richtige Wahl zu treffen.

Tipp

Für die meisten Entwickler ist der Microsoft Store der empfohlene Pfad. Es bietet kostenlose Codesignatur, integrierte Updatebereitstellung, umfassende Auffindbarkeit und eine vertrauenswürdige Installationsumgebung – ohne Infrastruktur zur Verwaltung.

Verteilungspfade auf einen Blick

Pfad Am besten geeignet für: Codesignaturkosten Automatische Aktualisierung Unternehmens-MDM Über den Store verteilt
Microsoft Store Consumer- und Business-Apps, breite Reichweite ✅ Kostenlos (Geschäftsschilder für Sie) ✅ Integriert ✅ Über Intune mit dem Unternehmensportal ✅ Ja
MSIX Sideload (Enterprise) Interne LOB-Apps über Intune/ConfigMgr 💲 Azure Artifact Signing (ehemals Trusted Signing) (~10 $/Monat) oder selbstsigniertes Zertifikat + Intune-Zertifikatprofil ✅ Über app Installer-Datei oder MDM ✅ Nativ ❌ Nein
MSIX Direct Download (ISV) Kommerzielle Apps, die von Ihrer eigenen Website verkauft werden 💲 CA-trusted cert required (Azure Artifact Signing (früher Trusted Signing) empfohlen) ✅ Über .appinstaller Datei ⚠️ Begrenzt ❌ Nein
Verpacken mit externem Standort Vorhandene Apps mit eigenem Installationsprogramm, die Windows Features benötigen 💲 Identisch mit dem direkten MSIX-Download ✅ Ihr vorhandener Mechanismus ⚠️ Begrenzt ❌ Nein

Die Veröffentlichung im Microsoft Store ist die umfassendste Verteilungslösung für Windows-Apps.

Was Sie erhalten:

  • Die Code-Signierung wird automatisch verwaltet, ohne dass ein Zertifikatkauf erforderlich ist.
  • Integrierte Updatebereitstellung mit mehrstufiger Rolloutunterstützung
  • Entdecken Sie durch die Suche im Store und die kuratierten Sammlungen
  • UX für vertrauenswürdige Installationen ohne SmartScreen-Warnungen
  • Enthalten sind Umsatzverarbeitung, Rückerstattungen und Analysen

Anforderungen:

Wann Sie dies wählen sollten:

  • Ihre App richtet sich allgemein an Verbraucher oder Unternehmensbenutzer.
  • Sie möchten die einfachste Verteilungsinfrastruktur
  • Sie erstellen eine neue WinUI 3-App (Sie sind bereits verpackt – einfach übermitteln)

Im Microsoft Store veröffentlichen

MSIX-Sideloading – Unternehmensinterne LOB-Verteilung

Für interne Branchen-Apps, die über Microsoft Intune oder Konfigurations-Manager auf verwalteten Geräten bereitgestellt werden, ist MSIX Sideloading der empfohlene Pfad.

Was Sie erhalten:

  • Stille Installation und Aktualisierung über MDM-Richtlinien
  • Integration in die Unternehmensgeräteverwaltung (Intune, ConfigMgr)
  • Vollständige Paketidentität und Zugriff auf Windows Features (Benachrichtigungen, Hintergrundaufgaben usw.)

Code-Signierung:

  • Verwenden Sie Azure Artifact Signing (vormals Trusted Signing) (~10 USD/Monat) für ein zertifizierungsstellenvertrauenswürdiges Zertifikat oder
  • Verwenden eines selbstsignierten Zertifikats, das über Intune-vertrauenswürdige Zertifikatprofile für Endpunkte bereitgestellt wird

Anforderungen:

  • Zielgeräte müssen dem Signaturzertifikat vertrauen (entweder über MDM oder Gruppenrichtlinie)
  • Querladen muss auf Zielgeräten zulässig sein (standardmäßig auf Windows 10 Version 2004+ und allen Windows 11 Geräten aktiviert)

Wann Sie dies wählen sollten:

  • Verteilen einer internen App an unternehmensverwaltete Geräte
  • Sie verfügen über ein IT-Team, das die Zertifikatvertrauensstellung über Intune oder Gruppenrichtlinien konfigurieren kann

Bereitstellen von MSIX-Apps mit Intune
Deploy MSIX-Apps mit Konfigurations-Manager

MSIX Direct Download – ISV und kommerzielle Apps

Für kommerzielle Apps, die direkt von Ihrer Website (nicht über den Store) verkauft werden, können Sie MSIX-Pakete mit einer .appinstaller Datei zur Unterstützung von automatischen Updates verteilen.

Was Sie erhalten:

  • Vertraute Installationserfahrung über das App-Installationsprogramm
  • Unterstützung für die automatische Aktualisierung über .appinstaller Datei (gehostet auf Ihrem Server)
  • Vollständige Paketidentität und Windows Featurezugriff
  • Kontrolle über Ihren eigenen Vertriebskanal und Preise

Code-Signierung:

  • Ein von einer Zertifizierungsstelle vertrauenswürdiges Code-Signaturzertifikat ist erforderlich — Benutzer können MSIX-Pakete ohne Signatur oder mit selbstsigniertem Zertifikat nur installieren, wenn sie dem Zertifikat manuell vertrauen.
  • Azure Artifact Signing (ehemals vertrauenswürdige Signatur) (~10 USD/Monat) ist Microsoft empfohlene Option: Kein Hardwaretoken erforderlich, in CI/CD-Pipelines integriert
  • Herkömmliche OV-Zertifikate werden ebenfalls akzeptiert (in der Regel 150–300 US-Dollar/Jahr von einer CA [Certification Authority])

SmartScreen: Neue Zertifikate sammeln im Laufe der Zeit den SmartScreen-Ruf basierend auf der Downloadmenge. Sie können einige SmartScreen-Eingabeaufforderungen für neue Versionen erwarten. Siehe SmartScreen-Reputation für Windows App-Entwickler.

Von Bedeutung

Das ms-appinstaller: URI-Protokoll (Ein-Klick-Browserinstallation) ist seit Dezember 2023 standardmäßig deaktiviert. Verlinken Sie die .appinstaller Datei direkt für den Download, oder erwägen Sie die Veröffentlichung im Shop, um eine breitere Reichweite zu erzielen. Siehe Aktueller Status der Verteilungsfunktionen von Windows-Apps.

Wann Sie dies wählen sollten:

  • Sie sind ein ISV, der Software direkt von Ihrer Website verkauft
  • Sie benötigen kontrolle über die UX, Preise oder Lizenzierung des Installers, die der Store nicht unterstützt.
  • Ihre Kunden sind Unternehmen, die Software außerhalb des Store erwerben

App-Installer-Datei Übersicht
Apps automatisch aktualisieren und reparieren

Verpackung mit externem Standort (Sparpaket)

Wenn Sie über eine vorhandene App mit einem eigenen Installationsprogramm (WiX, NSIS, InstallShield) verfügen und Windows-Features hinzufügen möchten, die eine Paketidentität erfordern, ohne das Installationsprogramm durch MSIX zu ersetzen, verwenden Sie Verpacken mit externem Speicherort.

Was Sie erhalten:

  • Paketidentität ohne Änderung des Installationsprogramms oder der binären Speicherorte
  • Zugriff auf Windows Features: Benachrichtigungen, Hintergrundaufgaben, Dateitypzuordnungen, Protokollhandler
  • Ihr vorhandener Installations- und Updatemechanismus bleibt vorhanden

Was Sie nicht erhalten:

  • Store-Berechtigung
  • Das saubere Installations-/Deinstallationsmodell von vollständiger MSIX

Wann Sie dies wählen sollten:

  • Sie verfügen über eine vorhandene Win32/WPF/WinForms-App mit einem etablierten Installationsprogramm
  • Sie möchten bestimmte Windows API-Features, die paketidentität erfordern
  • Die vollständige Migration zu MSIX ist zur zeit nicht machbar.

Gewähren der Paketidentität durch Verpacken mit externem Speicherort

Was ist mit anderen Installer-Formaten?

Viele Windows Apps werden mithilfe von ClickOnce, MSI, WiX, Inno Setup oder ähnlichen Technologien verteilt. Dies sind etablierte und unterstützte Optionen, insbesondere für Apps, die MSIX nicht verwenden können oder keine Store-Verteilung benötigen. In der folgenden Tabelle sind die allgemeinen Optionen und deren Kompromisse zusammengefasst.

Methode Automatische Aktualisierung Codesignatur erforderlich Berechtigter Store Am besten geeignet für:
MSIX über den Store ✅ Integriert ✅ Kostenlos (Store-Zeichen) ✅ Ja Die meisten Apps – empfohlener Ausgangspunkt
MSIX + .appinstaller ✅ Integriert 💲 CA-vertrauenswürdiges Zertifikat ❌ Nein ISVs, die direkt von einer Website verteilen
ClickOnce ✅ Integriert 💲 Zertifikat empfohlen ❌ Nein WPF/WinForms-Apps; für WinUI 3 nicht unterstützt
MSI / WiX / Inno Setup ⚠– Manuell oder benutzerdefiniert 💲 Zertifikat empfohlen ❌ Nein Apps mit komplexen Installationsanforderungen oder vorhandenem Installationsprogramm
Eigenständige EXE-Datei (xcopy/zip) ❌ Keine 💲 Zertifikat empfohlen ❌ Nein Einfache Dienstprogramme; Entwickler-/Power-User-Benutzergruppen
Winget-Manifest ✅ Via winget 💲 Zertifikat empfohlen ❌ Nein Eines der oben genannten – erhöht die Auffindbarkeit über winget install

ClickOnce

ClickOnce ist eine in Visual Studio integrierte .NET Bereitstellungstechnologie. Es hostet ein Manifest auf einem Webserver oder einer Dateifreigabe; Benutzer installieren über die Manifest-URL, und ClickOnce verarbeitet die Überprüfung von Updates beim Start. Es eignet sich gut für WPF- und WinForms-Apps, die an eine bekannte Benutzerbasis verteilt werden.

ClickOnce wird für WinUI 3-Apps nicht unterstützt. Verwenden Sie MSIX mit .appinstaller für den WinUI 3 Direktvertrieb.

ClickOnce-Sicherheit und -Bereitstellung

MSI, WiX, Inno Setup und NSIS

Herkömmliche EXE- und MSI-Installationsprogramme bleiben für Windows Apps mit komplexen Installationsanforderungen (Treiberinstallation, Systemdienste, Registrierungskonfiguration) üblich. Tools wie WiX Toolset, Inno Setup und NSIS werden von der Community verwaltet und häufig verwendet. Für die Updateunterstützung ist eine eigene Implementierung erforderlich.

Diese Formate sind nicht für den Store als primäre Verteilungspakete zugelassen. Sie können sie jedoch mit Packaging mit externem Speicherort kombinieren wenn Sie paketidentitäten für bestimmte Windows Features benötigen.

Eigenständige EXE (xcopy-Bereitstellung)

dotnet publish --self-contained erzeugt einen Ordner mit Dateien (oder einer EXE-Datei), den Benutzer ausführen können, ohne .NET zu installieren. Dies ist das einfachste Verteilungsmodell, erfordert jedoch, dass Benutzer eine neue Version manuell herunterladen. Es eignet sich für Befehlszeilentools, Entwicklerprogramme und Power-User-Apps.

winget – Hinzufügen der Auffindbarkeit zu einem beliebigen Verteilungspfad

Unabhängig vom Verpackungsformat können Sie ein Manifest an das Windows Paket-Manager Community-Repository übermitteln, damit Ihre App über winget install <your-app> installiert werden kann. Dadurch wird Ihre vorhandene Verteilungsmethode nicht ersetzt. Sie fügt einen Befehlszeileninstallationspfad hinzu, der von Entwickler- und technischen Zielgruppen geschätzt wird.