Erstellen eines nicht signierten MSIX-Pakets
Ab Windows 11 können Sie Ihre App über PowerShell installieren, ohne ihr Paket signieren zu müssen. Dieses Feature soll es Ihnen erleichtern, Ihre App schnell zu testen. Verwenden Sie dieses Feature nicht, um Ihre App weit zu verteilen.
Ein nicht signiertes Paket muss einen speziellen OID-Wert (Organisations-ID) in seinem Identity-Element in der Manifestdatei enthalten, andernfalls darf es nicht registriert werden. Ein nicht signiertes Paket hat nie dieselbe Identität wie ein signiertes Paket. Dadurch wird verhindert, dass nicht signierte Pakete mit der Identität eines signierten Pakets in Konflikt geraten oder spoofen.
Im Folgenden sehen Sie ein Beispiel.
...
<Identity Name="NumberGuesserManifest"
Publisher="CN=AppModelSamples, OID.2.25.311729368913984317654407730594956997722=1"
Version="1.0.0.0" />
...
Wichtig
In den meisten Szenarien müssen Sie PowerShell als Administrator ausführen. Weitere Informationen finden Sie weiter unten.
- Um ein nicht signiertes Paket zu installieren, übergeben Sie das
-AllowUnsigned
Flag an den Befehl "Add-AppxPackage ". - In den meisten Szenarien enthält das nicht signierte Paket ausführbare Inhalte; Daher müssen Sie PowerShell als Administrator ausführen. Das liegt daran, dass ein nicht signiertes Paket mit ausführbarem Inhalt für alle Benutzer installiert werden muss. Da dies mehr als nur den aktuellen Benutzer beeinträchtigen kann, ist administratorrechtlich erforderlich.
- Wenn das nicht signierte Paket nur nicht ausführbaren Inhalt enthält (z. B. wenn Sie nur Bilder, Objekte und andere Inhalte oder Skriptdateien laden müssen), ist das Administratorrecht nicht erforderlich, und ein Nichtadministrator kann das Paket installieren.
Hier ist ein Beispiel für die Syntax.
Add-AppPackage -Path ".\MyEmployees.appx" -AllowUnsigned
Wenn Ihre App für die Verteilung bereit ist, sollten Sie sicherstellen, dass das Paket signiert ist. Entfernen Sie unbedingt das spezielle OID, und stellen Sie sicher, dass der Herausgebername mit dem Zertifikatantragstellernamen identisch ist.