Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie manuell eine App-Installer-Datei erstellen, die eine zugehörige Gruppe mit Funktionen zum automatischen Aktualisieren und Reparieren definiert. Ein zusammengehöriges Set ist keine einzelne Entität, sondern eine Kombination aus einem Hauptpaket und optionalen Paketen.
Um einen verwandten Satz als eine Entität installieren zu können, müssen wir in der Lage sein, das Hauptpaket und das optionale Paket als eins anzugeben. Dazu müssen wir eine XML-Datei mit der Erweiterung ".appinstaller " erstellen, um einen zugehörigen Satz zu definieren. Der App-Installer verwendet die Datei *.appinstaller und ermöglicht es dem Benutzer, alle definierten Pakete mit einem einzigen Klick zu installieren.
Während der Bereitstellung wird die App-Installer-Datei Folgendes tun:
- Das im
URI
-Attribut des <-MainPackage-Elements > referenzierte Windows-App-Paket wird dieName
-,Publisher
- undVersion
-Zielattribute des Windows-App-Pakets überprüfen. Wenn das Package/Identity-Element im Windows-App-Paketmanifest nicht übereinstimmt, schlägt die Installation fehl. - Erstellen Sie einen Verweis auf die Update- und Reparatur-URIs für die Paketfamilie.
So erstellen Sie eine App-Installer-Datei
Um den zugehörigen Satz als eine Entität zu verteilen, müssen Sie eine App-Installer-Datei erstellen, die die Elemente enthält, die für dieses App-Installer-Schema erforderlich sind.
- Erstellen Sie die *.AppInstaller-Datei.
- Geben Sie die Attribute der App-Installer-Datei an.
- Geben Sie das Hauptpaket der Windows-App an.
- Geben Sie das zugehörige optionale Paket an.
- Geben Sie das Abhängigkeitspaket für Windows-App-Framework an.
- Geben Sie die Update-URI-Pfade an.
- Geben Sie die Reparatur-URI-Pfade an.
- Geben Sie die Updateeinstellungen an.
Beispiel für eine App-Installer-Datei
Nachdem Sie die oben aufgeführten Schritte ausgeführt haben, haben Sie erfolgreich eine App-Installer-Datei erstellt, die etwa wie folgt aussieht:
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2017/2"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainBundle
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />
<OptionalPackages>
<Bundle
Name="Contoso.OptionalApp1"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/OptionalApp1.msixbundle" />
<Bundle
Name="Contoso.OptionalApp2"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/OptionalApp2.msixbundle" />
<Package
Name="Fabrikam.OptionalApp3"
Publisher="CN=Fabrikam"
Version="10.34.54.23"
Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix"
ProcessorArchitecture="x64" />
</OptionalPackages>
<UpdateURIs>
<UpdateURI>http://mywebservice.azurewebsites.net/appset.appinstaller</UpdateURI>
<UpdateURI>http://mywebservice2.azurewebsites.net/appset.appinstaller</UpdateURI>
</UpdateURIs>
<RepairURIs>
<RepairURI>http://mywebservice.azurewebsites.net/appset.appinstaller</RepairURI>
<RepairURI>http://mywebservice2.azurewebsites.net/appset.appinstaller</RepairURI>
</RepairURIs>
<UpdateSettings>
<OnLaunch HoursBetweenUpdateChecks="0"/>
</UpdateSettings>
</AppInstaller>
Schritt 1: Erstellen der Datei "*.appinstaller"
Erstellen Sie mit einem Text-Editor (Notepad.exe) eine neue Datei mit der Dateinamenerweiterung *. AppInstaller
Hilfe & Anleitung:
- Öffnen Sie das Startmenü.
- Geben Sie Folgendes ein:
notepad.exe
. - Öffnen Sie das Menü "Datei ".
- Wählen Sie im Dropdownmenü "Speichern unter " aus.
Schritt 2: Hinzufügen der Basisvorlage
Fügen Sie das AppInstaller
Element in Ihre App-Installer-Datei ein und vermerken Sie die Version, den Pfad und den Netzwerkspeicherort Ihrer App-Installer-Datei. Die Informationen im AppInstaller
Element werden beim Installieren der zugehörigen Windows-Apps genutzt.
Element | BESCHREIBUNG |
---|---|
xmlns | Der XML-Namespace |
Version | Die Version der App-Installer-Datei in einer Quad-Dotted-Notation (1.0.0.0). |
URI | Ein URI-Pfad zur aktuellen App Installer-Datei, auf die vom Gerät zugegriffen werden kann. |
Hilfe & Anleitung:
Öffnen Sie die in Schritt 1 erstellte Datei.
Kopieren Sie den folgenden XML-Inhalt in Ihr *. AppInstaller-Datei .
<?xml version="1.0" encoding="utf-8"?> <AppInstaller xmlns="http://schemas.microsoft.com/appx/appinstaller/2021" Version="" Uri="" > </AppInstaller>
Aktualisieren des
Version
Attributs mit der Version Ihrer App Installer-DateiAktualisieren Sie das
URI
-Attribut mit dem Netzwerkspeicherort, von dem aus auf diese *.AppInstaller-Datei zugegriffen werden kann.
Schritt 3: Hinzufügen der Hauptpaketinformationen
Die <MainPackage>
und <MainBundle>
werden verwendet, um die primäre Windows-App zu identifizieren, die mit der App Installer-Datei installiert wird. Dies <MainPackage>
wird verwendet, wenn das Windows-App-Installationsprogramm entweder ein *.msix oder *.appx ist. Verwenden Sie, <MainBundle>
wenn das Windows-App-Installationsprogramm ein gebündeltes Windows-App-Installationsprogramm mit einer Erweiterung von *.msixbundle oder *.appxbundle ist.
Element | BESCHREIBUNG |
---|---|
Name | Der Name der primären Anwendung, die über die App-Installer-Datei verteilt wird. Dies finden Sie, indem Sie das folgende PowerShell-Cmdlet ausführen: $(Get-AppxPackage [AppName]).Name . |
Herausgeber | Der kanonische Name des Herausgeberzertifikats, das zum Signieren des primären Windows-App-Installationsprogramms verwendet wird. Dies finden Sie, indem Sie das folgende PowerShell-Cmdlet ausführen: $(Get-AppxPackage [AppName]).Publisher . |
Version | Die Version des primären Windows-App-Installers in einer vierfach gepunkteten Notation (1.0.0.0). Dies finden Sie, indem Sie das folgende PowerShell-Cmdlet ausführen: $(Get-AppxPackage [AppName]).Version . |
Prozessorarchitektur | Die Architektur, auf der das primäre Windows-App-Installationsprogramm installiert wird. |
URI (Uniform Resource Identifier) | Der URI-Pfad zum primären Windows-App-Installationsmedium. |
Die Informationen im <MainBundle>
- oder <MainPackage>
-Attribut sollten mit dem Package/Identity-Element im App-Bündelmanifest bzw. App-Paketmanifest übereinstimmen.
Windows-App-Installer
Wenn es sich bei dem Haupt-App-Paket um eine MSIX- oder .appx-Datei handelt, verwenden Sie <MainPackage>
wie unten dargestellt. Achten Sie darauf, die ProcessorArchitecture einzuschließen, da sie für Nicht-Bundle-Pakete obligatorisch ist.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainPackage
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
ProcessorArchitecture="x64"
Uri="http://mywebservice.azurewebsites.net/mainapp.msix" />
</AppInstaller>
Windows-App-Paketinstallationsprogramm
Wenn es sich bei dem Haupt-App-Paket um eine .msixbundle-, .appxbundle- oder .datei handelt, verwenden Sie <MainBundle>
anstelle von <MainPackage>
, wie unten gezeigt. Für Bundles ist ProcessorArchitecture nicht erforderlich.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainBundle
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />
</AppInstaller>
Schritt 4: Hinzufügen der optionalen Pakete
Ähnlich wie das Attribut des Haupt-App-Pakets sollte das untergeordnete Element innerhalb des <OptionalPackages>
-Attributs <Package>
sein, wenn das optionale Paket entweder ein App-Paket oder ein App-Bündel sein kann, oder entsprechend <Bundle>
. Die Paketinformationen in den untergeordneten Elementen sollten mit dem Identitätselement im Paket- oder Paketmanifest übereinstimmen.
Element | BESCHREIBUNG |
---|---|
Name | Der Name der optionalen Anwendung, die über die App-Installer-Datei verteilt wird. Dies finden Sie, indem Sie das folgende PowerShell-Cmdlet ausführen: $(Get-AppxPackage [AppName]).Name . |
Herausgeber | Der kanonische Name des Herausgeberzertifikats, das zum Signieren des optionalen Windows-App-Installationsprogramms verwendet wird. Dies finden Sie, indem Sie das folgende PowerShell-Cmdlet ausführen: $(Get-AppxPackage [AppName]).Publisher . |
Version | Die Version des optionalen Windows-App-Installers in einer vierfach gepunkteten Notation (1.0.0.0). Dies finden Sie, indem Sie das folgende PowerShell-Cmdlet ausführen: $(Get-AppxPackage [AppName]).Version . |
Prozessorarchitektur | Die Architektur, auf der das optionale Windows-App-Installationsprogramm installiert wird. |
URI (Uniform Resource Identifier) | Der URI-Pfad zum primären Windows-App-Installationsmedium. |
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainBundle
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />
<OptionalPackages>
<Bundle
Name="Contoso.OptionalApp1"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/OptionalApp1.msixbundle" />
<Package
Name="Fabrikam.OptionalApp3"
Publisher="CN=Fabrikam"
Version="10.34.54.23"
ProcessorArchitecture="x64"
Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix" />
</OptionalPackages>
</AppInstaller>
Schritt 5: Hinzufügen von Abhängigkeiten
Im Abhängigkeitselement können Sie die erforderlichen Frameworkpakete für das Hauptpaket oder die optionalen Pakete angeben.
Element | BESCHREIBUNG |
---|---|
Name | Der Name der Abhängigkeitsanwendung, an die über die App-Installer-Datei verteilt wird. Dies finden Sie, indem Sie das folgende PowerShell-Cmdlet ausführen: $(Get-AppxPackage [AppName]).Name . |
Herausgeber | Der kanonische Name des Herausgeberzertifikats, das zum Signieren der Abhängigkeit „Windows-App-Installer“ verwendet wird. Dies finden Sie, indem Sie das folgende PowerShell-Cmdlet ausführen: $(Get-AppxPackage [AppName]).Publisher . |
Version | Die Version der Abhängigkeit „Windows-App-Installer“ in einer Quad-Dotted-Notation (1.0.0.0). Dies finden Sie, indem Sie das folgende PowerShell-Cmdlet ausführen: $(Get-AppxPackage [AppName]).Version . |
Prozessorarchitektur | Die Architektur, auf der die Abhängigkeit „Windows-App-Installer“ installiert wird. |
URI (Uniform Resource Identifier) | Der URI-Pfad zur Abhängigkeit „Windows-App-Installer“. |
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainBundle
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />
<Dependencies>
<Package
Name="Microsoft.VCLibs.140.00"
Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
Version="14.0.24605.0" ProcessorArchitecture="x86" Uri="http://foobarbaz.com/fwkx86.appx" />
<Package
Name="Microsoft.VCLibs.140.00"
Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
Version="14.0.24605.0"
ProcessorArchitecture="x64"
Uri="http://foobarbaz.com/fwkx64.appx" />
</Dependencies>
</AppInstaller>
Schritt 6: Hinzufügen der Updateeinstellung
Die App Installer-Datei kann auch die Updateeinstellung angeben, sodass die zugehörigen Sätze automatisch aktualisiert werden können, wenn eine neuere App-Installer-Datei veröffentlicht wird. <UpdateSettings ist ein optionales> Element. In <UpdateSettings> gibt die Option "OnLaunch" an, dass Updateüberprüfungen beim Starten der App vorgenommen werden sollen, und HoursBetweenUpdateChecks="12" gibt an, dass alle 12 Stunden eine Aktualisierungsprüfung durchgeführt werden soll. Wenn HoursBetweenUpdateChecks nicht angegeben ist, beträgt das Standardintervall, das zum Überprüfen auf Updates verwendet wird, 24 Stunden. Weitere Arten von Updates, z. B. Hintergrundupdates, finden Sie im Schema "Updateeinstellungen ". Weitere Arten von On-Launch-Updates wie Updates mit einer Eingabeaufforderung finden Sie im OnLaunch-Schema
Elemente | BESCHREIBUNG |
---|---|
StundenZwischenAktualisierungsprüfungen | Definiert die minimale Lücke bei Windows-App-Updateüberprüfungen. |
Aktualisierungsblockierungsaktivierung | Definiert die Benutzeroberfläche, wenn ein App-Update überprüft wird. |
Eingabeaufforderung anzeigen | Definiert, ob ein Fenster angezeigt wird, wenn Updates installiert werden, und wann Updates überprüft werden. |
AktualisierungVonJederVersionErzwingen | Gibt an, dass die nächste Version der Anwendung eine neuere oder ältere Version sein könnte. Bei „True“ werden alle Versionen für beide Optionen installiert, bei „False“ (Standardeinstellung) hingegen nur neue Versionen. |
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainBundle
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />
<UpdateSettings>
<OnLaunch
HoursBetweenUpdateChecks="12"
UpdateBlocksActivation="true"
ShowPrompt="true" />
<AutomaticBackgroundTask />
<ForceUpdateFromAnyVersion>true</ForceUpdateFromAnyVersion>
</UpdateSettings>
</AppInstaller>
Schritt 7: Hinzufügen von Einstellungen für die automatische Aktualisierung
Von Bedeutung
Die folgenden Einstellungen sind nur verfügbar, wenn Sie das 2021-Schema auf einem Windows-Insider-Build von Windows 10 verwenden.
Windows Apps, die mit einer App-Installer-Datei installiert wurden, aktualisieren standardmäßig ihre Windows-App über den App-Installer-URI, wobei die im vorherigen Schritt festgelegten Konfigurationen eingehalten werden. Die in diesem Schritt konfigurierten Update-URIs dienen als Fallback-URIs, die verwendet werden können, wenn auf den ursprünglichen App Installer-URI nicht mehr zugegriffen werden kann. Maximal 10 Update-URIs können für jede Windows-App konfiguriert werden.
Die Update-URI muss auf App-Installer-Dateien abzielen.
Hinweis
Diese Einstellungen funktionieren nur, wenn das Schema als 2021 oder höher konfiguriert ist.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainBundle
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />
<UpdateSettings>
<OnLaunch
HoursBetweenUpdateChecks="12" />
</UpdateSettings>
<UpdateUris>
<UpdateUri>https://www.contoso.com/Installers/MainApp.AppInstaller</UpdateUri>
<UpdateUri>\\ServerName\Share\Installers\MainApp.AppInstaller</UpdateUri>
</UpdateUris>
</AppInstaller>
Schritt 8: Hinzufügen von Einstellungen für die automatische Reparatur
Von Bedeutung
Die folgenden Einstellungen sind nur verfügbar, wenn Sie das 2021-Schema auf einem Windows-Insider-Build von Windows 10 verwenden.
Windows-Apps, die auf einem Gerät installiert sind, können die automatische Reparatur der Windows-App unterstützen, wenn sie manipuliert wurde. Das Quellinstallationsprogramm, das zum Reparieren der Windows-App verwendet wird, kann mithilfe der <RepairURIs>
Eigenschaft konfiguriert werden. Die Windows-App versucht, sich selbst basierend auf dem App Installer-URI zu reparieren, falls nicht zugegriffen werden kann, dann verwendet die Windows-App die Reparatur-URI, um eine Reparaturquelle zu identifizieren. Maximal 10 Reparatur-URIs können für jede Windows-App konfiguriert werden.
Die Reparatur-URI kann auf die Dateien der Windows-App oder des App-Installers abzielen. Diese Einstellung erfordert nicht, dass die Windows-App mit einer App-Installer-Datei installiert wurde.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainBundle
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />
<UpdateSettings>
<OnLaunch
HoursBetweenUpdateChecks="12" />
</UpdateSettings>
<RepairUris>
<RepairUri></RepairUri>
<RepairUri></RepairUri>
</RepairUris>
</AppInstaller>
Alle Details zum XML-Schema finden Sie in der Referenz zur App-Installer-Datei.
Hinweis
Der Dateityp "App Installer" ist neu in Windows 10, Version 1709 (windows 10 Fall Creators Update). Es gibt keine Unterstützung für die Bereitstellung von Windows 10-Apps mit einer App Installer-Datei in früheren Versionen von Windows 10. Das HoursBetweenUpdateChecks-Element ist ab Windows 10, Version 1803, verfügbar.