Windows 8.1 Store-Apps: Sicherstellen, dass Ressourcen auf einem Gerät installiert sind, unabhängig davon, ob das Gerät sie benötigt.

 

Gilt für Windows und Windows Phone

Wenn Sie verschiedene Ressourcen in einem App-Paket einschließen, können Sie sicherstellen, dass sie alle auf jedem Gerät mit der App installiert werden, unabhängig davon, welche Ressourcen bei der Installation der App erforderlich sind. Sie können beispielsweise dafür sorgen, dass mit der App UI-Zeichenfolgen in mehreren Sprachen installiert werden und nicht nur in der Sprache, die den Benutzerspracheinstellungen des Geräts entspricht. Wenn Sie so vorgehen, können die Benutzer Spracheinstellungen oder andere Einstellungen ändern, ohne mit dem Internet verbunden zu sein, und ihre Geräte können die besten Ressourcen für die neuen Einstellungen verwenden.

Das Einschließen von Ressourcen in App-Paketen vergrößert die App. Wenn Sie die Größe der Anwendung reduzieren möchten, schließen Sie Ressourcen in Ressourcenpakete ein, die der Benutzer später herunterladen kann. Bei den meisten Apps machen Benutzer mit Ressourcenpaketen die beste Erfahrung, wenn diese möglichst wenig Speicher benötigen. Allerdings sind nicht alle Ressourcenpakete für alle Apps geeignet. Dies gilt beispielsweise für mehrsprachige Wörterbücher, Übersetzungstools oder andere Apps, bei denen die Sprache oft geändert wird. Diese Apps können eine Vielzahl an Ressourcen im App-Paket enthalten.

Sie können Ressourcen in einem App-Paket einschließen, indem Sie eine Konfigurationsdatei hinzufügen. Wenn Sie Ihre Projektdatei direkt bearbeiten möchten, können Sie dies auch auf diese Weise tun.

Option 1: Hinzufügen einer Konfigurationsdatei zur Projektmappe

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt der App, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Neues Element.

  2. Klicken Sie im Dialogfeld Neues Element hinzufügen auf die Vorlage XML-Datei, nennen Sie die Datei priconfig.packaging.xml, und klicken Sie dann auf Hinzufügen.

  3. Ersetzen Sie den Inhalt der Datei durch folgende XML:

    <packaging>
        <autoResourcePackage qualifier="Language" />
        <autoResourcePackage qualifier="Scale" />
        <autoResourcePackage qualifier="DXFeatureLevel" />
    </packaging>
    
  4. Entfernen Sie die Zeile XML, die die Kategorie der Ressourcen darstellt, die nicht in einem Ressourcenpaket enthalten sein sollen. Das folgende Beispiel zeigt den Inhalt der Datei "priconfig.packaging.xml", nachdem der Qualifizierer Language entfernt wurde.

    <packaging>
        <autoResourcePackage qualifier="Scale" />
        <autoResourcePackage qualifier="DXFeatureLevel" />
    </packaging>
    

    In diesem Beispiel werden alle Sprachressourcen in die App-Pakete Ihres App-Bundles eingeschlossen. Die Benutzer laden sie unabhängig von der Benutzerspracheinstellung des Geräts herunter.

  5. Speichern und schließen Sie die Datei "priconfig.packaging.xml".

  6. Wenn Sie den Language-Qualifizierer entfernen, fügen Sie eine andere XML-Datei zum Projekt mit dem Namen "priconfig.default.xml" hinzu, und ersetzen Sie den Inhalt der Datei durch folgenden XML-Code.

    <default>
      <qualifier name="Language" value=Value />
    </default>
    

    Hinweis

    Sie müssen die Datei "priconfig.default.xml" nicht zum Projekt hinzufügen, wenn Sie die Qualifizierer Scale oder DXFeatureLevel, aber nicht den Qualifizierer Language entfernen.

    Ersetzen Sie den Platzhalter Wert durch den Sprachcode der einzelnen Sprachressourcen, die Sie in einem App-Paket einschließen möchten. Das folgende Beispiel zeigt, wie das XML dargestellt wird, nachdem Sie den Platzhalter Wert des Sprachqualifizierers durch eine Liste von Sprachcodes ersetzt haben.

    <default>
      <qualifier name="Language" value=”en;ja;de” />
      </default>
    
  7. Klicken Sie im Projektmappen-Explorer auf die Datei priconfig.default.xml.

  8. Ändern Sie im Fenster Eigenschaften die Werte der folgenden Eigenschaften abhängig von der Sprache des Projekts.

    • Bei C#- und VB-Projekten legen Sie die Eigenschaft Buildvorgang auf Keine fest.

    • Bei JavaScript-Projekten legen Sie für die Eigenschaft Paketaktion den Wert Keine fest.

    • Bei C++-Projekten legen Sie für die Eigenschaft Inhalt den Wert Falsch fest.

  9. Wenn Sie die Datei "priconfig.default.xml" zum Projekt hinzugefügt haben, legen Sie je nach Projektsprache die Buildvorgang-Eigenschaft auf Keine, die Paketaktion-Eigenschaft auf Keine oder die Inhalt-Eigenschaft auf False fest.

  10. Klicken Sie im Menü Erstellen auf Projektmappe erstellen, und erstellen Sie dann das App-Paket.

    Geben Sie auf der Seite Pakete auswählen und konfigurieren des Assistenten App-Pakete erstellen an, dass ein App-Bundle für Ihr Paket generiert werden soll. Siehe Erstellen eines Windows 8.1-App-Pakets.

  11. Öffnen Sie die Datei "split.priconfig.xml" im Ordner Projektordner**\obj\**ReleaseConfiguration im Editor.

  12. Vergewissern Sie sich, dass die Qualifizierer, die Sie entfernt haben, nicht in der Liste der Ressourcenqualifizierer enthalten sind.

Umbenennen der Datei "priconfig.packaging.xml"

Sie können der Konfigurationsdatei einen beliebigen Namen geben. Wenn Sie der Datei allerdings einen anderen Namen als priconfig.packaging.xml geben, müssen Sie eine Buildeigenschaft zur Projektdatei hinzufügen.

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und klicken Sie anschließend auf Projekt entladen.

  2. Klicken Sie erneut mit der rechten Maustaste auf das Projekt, und klicken Sie dann auf AppName.csprojbearbeiten oder AppName.vbprojbearbeiten.

  3. Fügen Sie in der Projektdatei die folgende XML-Zeile zwischen dem Start- und Endtag des ersten <PropertyGroup>-Elements ein.

    <AppxPriConfigXmlPackagingSnippetPath>FilePath</AppxPriConfigXmlPackagingSnippetPath>
    

    Wichtig

    Ersetzen Sie FilePath durch den Pfad zu Ihrer Konfigurationsdatei, einschließlich des Namens der Datei.

  4. Speichern und schließen Sie die Projektdatei.

  5. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und klicken Sie dann auf Projekt erneut laden.

  6. Erstellen Sie die Projektmappe, und erstellen Sie das Paket.

Hinweis

Wenn Sie die Datei "priconfig.default.xml" zum Projekt hinzugefügt haben, können Sie diese ebenfalls umbenennen. Weitere Informationen zum Umbenennen der Datei finden Sie unter Umbenennen der Datei "priconfig.default.xml"

Option 2: Ändern der Projektdatei (fortgeschritten)

  1. Öffnen Sie die Projektdatei der App im Notepad.

  2. Fügen Sie in der Projektdatei die folgende XML-Zeile zwischen dem Start- und Endtag des ersten <PropertyGroup>-Elements ein.

    <AppxBundleAutoResourcePackageQualifiers>Language|Scale|DXFeatureLevel</AppxBundleAutoResourcePackageQualifiers>
    
  3. Entfernen Sie ab dieser XML-Zeile die Kategorie der Ressourcen, die nicht in einem Ressourcenpaket enthalten sein sollen. Das folgende Beispiel zeigt die XML-Zeile nach Entfernen des Language-Qualifizierers.

    <AppxBundleAutoResourcePackageQualifiers>Scale|DXFeatureLevel</AppxBundleAutoResourcePackageQualifiers>
    

    In diesem Beispiel werden alle Sprachressourcen in die App-Pakete Ihres App-Bundles eingeschlossen. Die Benutzer laden sie unabhängig von der Benutzerspracheinstellung des Geräts herunter.

  4. Wenn Sie den Language-Qualifizierer entfernen, fügen Sie die folgende XML-Zeile zwischen den schließenden Tags des ersten <PropertyGroup>-Elements hinzu.

    <AppxDefaultResourceQualifiers>Language=Value</AppxDefaultResourceQualifiers>
    

    Hinweis

    Sie müssen diese Zeile nicht hinzufügen, wenn Sie die Qualifizierer Scale oder DXFeatureLevel aber nicht den Qualifizierer Language entfernen.

    Ersetzen Sie den Platzhalter Wert durch den Sprachcode der einzelnen Sprachressourcen, die Sie in einem App-Paket einschließen möchten. Das folgende Beispiel zeigt, wie das XML dargestellt wird, nachdem Sie den Platzhalter Wert des Sprachqualifizierers durch eine Liste von Sprachcodes ersetzt haben.

    <AppxDefaultResourceQualifiers>Language=en;ja;de</AppxDefaultResourceQualifiers>
    
  5. Speichern und schließen Sie die Projektdatei. Anschließend laden Sie die Datei in Visual Studio erneut.

  6. Erstellen Sie die Projektmappe dann das App-Paket.

    Geben Sie auf der Seite Pakete auswählen und konfigurieren des Assistenten App-Pakete erstellen an, dass ein App-Bundle für Ihr Paket generiert werden soll. Siehe Erstellen eines Windows 8.1-App-Pakets.

  7. Öffnen Sie die Datei "split.priconfig.xml" im Ordner Projektordner**\obj\**ReleaseConfiguration im Editor.

  8. Vergewissern Sie sich, dass die Qualifizierer, die Sie entfernt haben, nicht in der Liste der Ressourcenqualifizierer enthalten sind.

Siehe auch

Bereitstellung von App-Bundles
App-Bundle
Entscheidungshilfe für das Generieren eines App-Bündels
Ressourcenpakete
Ressourcenverwaltungssystem
Definieren von App-Ressourcen (Apps mit C#/VB/C++ und XAML)
Definieren von App-Ressourcen (Apps mit JavaScript und HTML)