Ein App-Paket lokal freigeben (Windows Store-Apps)

Nachdem Sie eine Windows Store-App entwickelt haben, möchten Sie sie vielleicht auf einem oder mehreren lokalen Computern installieren, damit Sie oder andere Personen die App testen können. Bevor Sie eine Windows Store-App auf einem anderen Computer installieren können, müssen Sie ein App-Paket erstellen und dann ein Windows PowerShell-Skript ausführen.

Erstellen eines App-Pakets

Bevor Sie die App installieren können, müssen Sie zunächst ein App-Paket erstellen. Weitere Informationen zum Erstellen eines Pakets finden Sie unter Creating an app package.

Das App-Paket, das Sie erstellen, befindet sich im Ausgabeordner, den Sie als Paketspeicherort angegeben haben, und erhält den Namen PackageName_Test. Der Ordner enthält eine APPX-Datei, ein Sicherheitszertifikat, ein Windows PowerShell-Skript und andere Dateien.

Installation des App-Pakets zu Testzwecken

  1. Suchen Sie im Visual Studio-Ausgabeverzeichnis das Add-AppDevPackage-PowerShell-Skript neben der APPX-Datei.

  2. Wählen Sie im Kontextmenü für die Datei "Add-AppDevPackage.ps1" die Option Mit PowerShell ausführen aus.

    Wichtig

    Wenn Sie Mitglied der Sicherheitsgruppe "Administratoren" auf dem lokalen Computer sind, Sie aber nicht berechtigt sind, auf die Netzwerkfreigabe zuzugreifen, in der sich die Datei "Add-AppDevPackage.ps1" befindet, wird möglicherweise eine Fehlermeldung mit dem Hinweis, dass die Skriptdatei nicht vorhanden ist, angezeigt. Um das Zugriffsproblem zu umgehen, kopieren Sie den Inhalt des Ausgabeordners auf den lokalen Computer, bevor Sie das Skript ausführen.

    Mit diesem Skript werden die folgenden Schritte ausgeführt.

    1. Es werden Informationen über das Zertifikat angezeigt, das durch das Skript installiert wird. Das Skript zeigt außerdem eine Warnmeldung über die Risiken an, die beim Ändern der Ausführungsrichtlinie auf dem lokalen Computer bestehen. Die Ausführungsrichtlinie schützt Sie vor Skripts, denen Sie nicht vertrauen. Wenn Sie die Ausführungsrichtlinie ändern, setzen Sie sich möglicherweise den unter about_Execution_Policies beschriebenen Sicherheitsrisiken aus.

      Hinweis

      Wenn Sie das Skript direkt in der PowerShell anstatt über das Kontextmenü gestartet haben, wird keine Warnung über die Risiken einer Änderung der Ausführung angezeigt, und beim Ausführen des Skripts tritt ein Fehler auf. Um dieses Problem zu umgehen, ändern Sie die Ausführungsrichtlinie manuell, und führen Sie dann das Skript erneut aus.

      Sie müssen bestätigen, dass Sie die Ausführungsrichtlinie ändern möchten, indem Sie "Y" eingeben. Wenn Sie "N" eingeben, überspringen Sie diesen Vorgang und fahren mit dem nächsten Vorgang fort. Wenn Sie "S" eingeben, halten Sie die aktuelle Pipeline an und kehren zur Eingabeaufforderung zurück. Wenn Sie das Wort "exit" eingeben, wird die Pipeline fortgesetzt.

    2. Es wird überprüft, ob Sie eine Entwicklerlizenz haben. Wenn das Skript keine Lizenz findet oder die aktuelle Lizenz abgelaufen ist, werden Sie aufgefordert, eine neue Lizenz zu beschaffen.

      Für den Bezug einer Entwicklerlizenz benötigen Sie ein Microsoft-Konto. Weitere Informationen finden Sie unter Bezug einer Entwicklerlizenz (Windows Store-Apps).

    3. Es wird überprüft, ob ein App-Paket und eines der erforderlichen Zertifikate vorhanden sind. Wenn Elemente fehlen, werden Sie in einer Meldung dazu aufgefordert, diese zu installieren, bevor das Entwicklerpaket installiert wird. Wenn beispielsweise das Entwicklerzertifikat auf dem lokalen Computer fehlt, werden Sie aufgefordert, es zu installieren. Sie werden auch gewarnt, dass das Installieren eines digitalen Zertifikats in den für vertrauenswürdige Personen bestimmten Zertifikatspeicher des Computers ein schwerwiegendes Sicherheitsrisiko darstellt. Nehmen Sie die Installation nur vor, wenn Sie dem Absender dieses digitalen Zertifikats vertrauen. Wenn Sie die Verwendung dieser App beendet haben, sollten Sie das zugeordnete digitale Zertifikat manuell aus dem Zertifikatspeicher "Vertrauenswürdige Personen" des Computers entfernen. Weitere Informationen zum Entfernen eines Zertifikats finden Sie auf der Seite zum Verwenden der Zertifikatkonsole. Sie müssen bestätigen, ob Sie fortfahren möchten.

      Die Signaturzertifikate müssen die folgenden Werte enthalten:

      • Enhanced Key Usage: Code Signing (erforderlich)

      • Basic Constraint: Subject Type=End Entity (erforderlich)

      • Lebensdauersignatur EKU (optional)

      Mit jeder anderen EKU wird das Zertifikat ungültig. Wenn das Skript die erforderlichen Werte nicht findet, tritt ein Fehler auf.

    4. Es wird überprüft, ob alle erforderlichen Abhängigkeitspakete vorhanden sind.

    5. Es werden alle abhängigen Pakete und anschließend das App-Paket installiert.

      Wenn das App-Paket installiert wurde, wird die Meldung angezeigt, dass das Entwicklerpaket erfolgreich installiert wurde.

  3. Wählen Sie auf dem Startbildschirm die Kachel aus, die den Namen der App anzeigt.

    Die App wird gestartet.

SicherheitshinweisSicherheitshinweis

Wenn das PowerShell-Skript nicht ausgeführt wird und keine Fehlermeldung mit dem Grund angezeigt wird, wurde möglicherweise die Benutzerzugriffssteuerung (User Access Control, UAC) auf dem Computer geändert. Die Standardeinstellung für die Benutzerkontensteuerung lautet Nur benachrichtigen, wenn von Apps Änderungen am Computer vorgenommen werden (Standard). Dies kann jedoch zu Nie benachrichtigen geändert werden. Wenn Sie ein Standardbenutzerkonto für die Anmeldung an einem Computer verwenden, dessen Benutzerkontensteuerung auf Nie benachrichtigen gesetzt ist, werden alle Änderungen, für die Administratorberechtigungen erforderlich sind, automatisch verweigert. Unter diesen Umständen wird das PowerShell-Skript gestartet. Es sind jedoch zum Fortsetzen Administratorberechtigungen erforderlich. Das UAC-Dialogfeld wird nicht angezeigt, und es wird automatisch verhindert, dass durch das Skript Änderungen vorgenommen werden. Um dieses Problem zu beheben, ändern Sie entweder die UAC-Einstellung, oder führen Sie das Skript als Administrator aus.

Wenn Sie das the Add-AppDevPackage.ps1-PowerShell-Skript ausführen, wird in Visual Studio die Get-AuthenticodeSignature-Funktion verwendet, um zu bestimmen, ob das Testsignaturzertifikat TEST Visual Studio Certification Authority installiert werden soll. Wenn das Testsignaturzertifikat bereits im Knoten Zertifikate - Aktueller Benutzer > Vertrauenswürdige Stammzertifizierungsstellen > Zertifikate installiert ist, wird ein Wert zurückgegeben, der auf die Gültigkeit der Signatur hinweist. Dennoch treten bei der Bereitstellung des Pakets weiterhin Fehler auf, da das Zertifikat nicht als vertrauenswürdig eingestuft wird. Damit das Zertifikat als vertrauenswürdig eingestuft werden kann, muss es entweder im Knoten Zertifikate (Lokaler Computer) > Vertrauenswürdige Stammzertifizierungsstellen > Zertifikate oder unter Zertifikate (Lokaler Computer) > Vertrauenswürdige Personen > Zertifikate gespeichert sein. Nur Zertifikate an diesen beiden Speicherorten können das Zertifkatvertrauen im Kontext des lokalen Computers überprüfen. Andernfalls wird eine Fehlermeldung wie die folgende angezeigt: "Add-AppxPackage: Fehler bei Bereitstellung. HRESULT: 0x800B0109, Eine Zertifikatkette wurde verarbeitet, aber in einem Stammzertifikat beendet, dem der Vertrauensanbieter nicht vertraut. (Ausnahme von HRESULT: 0x800B0109) Fehler 0x800B0109: Dem Stammzertifikat der Signatur im App-Paket muss vertraut werden." Verschieben Sie in diesem Fall das Testsignaturzertifikat in einen der beiden oben beschriebenen Knoten Zertifikate (Lokaler Computer). Weitere Informationen zum Verschieben eines Zertifikats finden Sie auf der Seite zum Verwenden der Zertifikatkonsole.

Siehe auch

Konzepte

Signieren eines App-Pakets (Windows Store-Apps)

Erstellen eines App-Pakets in einer Eingabeaufforderung (Windows Store-Apps)