Manuelles Erstellen einer App-Installer-Datei

In diesem Artikel wird gezeigt, wie Sie eine App-Installer-Datei manuell erstellen, die einen verwandten Satz mit automatischen Und Reparaturfunktionen definiert. Ein verwandter Satz ist nicht eine Entität, sondern eine Kombination aus einem Hauptpaket und optionalen Paketen.

Um einen verwandten Satz als eine Entität zu installieren, müssen wir das Hauptpaket und das optionale Paket als eine angeben können. Dazu müssen wir eine XML-Datei mit einer Appinstaller-Erweiterung erstellen, um einen verwandten Satz zu definieren. Das App-Installationsprogramm verwendet die Datei *.appinstaller und ermöglicht dem Benutzer, alle definierten Pakete mit einem einzigen Klick zu installieren.

Während der Bereitstellung wird die App-Installer-Datei folgendes ausführen:

  • Das Windows-App-Paket, auf das im URI Attribut des < MainPackage-Elements > verwiesen wird, überprüft die NamePublisherVersion Attribute des Ziel-Windows-App-Pakets. 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 Familie des Pakets.

So erstellen Sie eine App Installer-Datei

Um Ihren verwandten Satz als eine Entität zu verteilen, müssen Sie eine App-Installer-Datei erstellen, die die elemente enthält, die von diesem App-Installationsprogrammschema erforderlich sind.

  1. Erstellen Sie das *. AppInstaller-Datei.
  2. Geben Sie die Dateiattribute des App Installer-Installationsprogramms an.
  3. Geben Sie das Haupt-Windows-App-Paket an.
  4. Geben Sie das zugehörige Paket an.
  5. Geben Sie das Abhängigkeitspaket für Windows-App Framework an.
  6. Geben Sie die Update-URI-Pfade an.
  7. Geben Sie die Reparatur-URI-Pfade an.
  8. Geben Sie die Updateeinstellungen an.
Beispiel für eine App-Installer-Datei

In den oben aufgeführten Schritten haben Sie erfolgreich eine App-Installer-Datei erstellt, die 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 mithilfe eines Text-Editors (Notepad.exe) eine neue Datei mit einer Dateinamenerweiterung von *. AppInstaller

Gewusst wie:
  1. Öffnen Sie das Startmenü.
  2. Geben Sie folgendes ein: notepad.exe.
  3. Öffnen Sie das Menü "Datei" .
  4. Wählen Sie " Speichern unter " im Dropdownmenü aus.

Schritt 2: Hinzufügen der grundlegenden Vorlage

Fügen Sie das Element in Ihre App Installer-Datei ein, die die AppInstaller Version, den Pfad und den Netzwerkspeicherort Ihrer App Installer-Datei angibt. Die Informationen im AppInstaller Element werden beim Installieren der zugeordneten Windows-Apps verwendet.

Element Beschreibung
xmlns Der XML-Namespace
Version Die Version der App-Installer-Datei in einer vierpunktigen Notation (1.0.0.0.0).
URI Ein URI-Pfad zur aktuellen App Installer-Datei, auf die das Gerät zugreifen kann.
Gewusst wie:
  1. Öffnen Sie die datei, die in Schritt 1 erstellt wurde.

  2. Kopieren Sie den folgenden XML-Inhalt in Ihren *. AppInstaller-Datei .

    <?xml version="1.0" encoding="utf-8"?>
    <AppInstaller
        xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
        Version=""
        Uri="" >
    </AppInstaller>
    
  3. Aktualisieren des Version Attributs mit der Version Ihrer App Installer-Datei

  4. Aktualisieren Sie das URI Attribut mit dem Netzwerkspeicherort, an dem dieses *. AppInstaller-Datei kann von ihnen aus zugegriffen werden.

Schritt 3: Hinzufügen der Hauptpaketinformationen

Die <MainPackage> und <MainBundle> werden verwendet, um die primäre Windows-App zu identifizieren, die mithilfe der App Installer-Datei installiert wird. Dies <MainPackage> wird verwendet, wenn das Windows-App-Installationsprogramm entweder ein *.msix oder *.appx ist. Verwenden Sie die <MainBundle> Verwendung, wenn das Windows-App-Installationsprogramm ein gebündeltes Windows-App-Installer ist, mit einer Erweiterung von *.msixbundle oder *.appxbundle.

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
Publisher Der kanonische Name des Herausgeberzertifikats, das zum Signieren des primären Windows-App-Installers 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 vierpunktigen Notation (1.0.0.0.0).0). Dies finden Sie, indem Sie das folgende PowerShell-Cmdlet ausführen: $(Get-AppxPackage [AppName]).Version
ProcessorArchitecture Die Architektur, auf der das primäre Windows-App-Installationsprogramm installiert wird.
URI Der URI-Pfad zu den primären Windows-App-Installationsmedien.

Die Informationen im Paket-/Attribut sollten dem Package/Identity-Element im <MainBundle><MainPackage> App-Bundle-Manifest oder dem App-Paketmanifest entsprechen.

Windows-App Installer

Wenn das Haupt-App-Paket eine MSIX- oder APPX-Datei ist, verwenden Sie <MainPackage>dann 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-Bundle-Installationsprogramm

Wenn das Haupt-App-Paket ein .msixbundle oder .appxbundle oder eine Datei ist, verwenden Sie die <MainBundle><MainPackage> unten dargestellte Stelle. Für Bündel 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 Haupt-App-Paket-Attribut, wenn das optionale Paket entweder ein App-Paket oder ein App-Bundle sein kann, sollte <Package> das untergeordnete Element innerhalb des <OptionalPackages> Attributs oder <Bundle> jeweils sein. Die Paketinformationen in den untergeordneten Elementen sollten dem Identitätselement im Paket- oder Paketmanifest entsprechen.

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
Publisher Der kanonische Name des Herausgeberzertifikats, das zum Signieren des optionalen Windows-App-Installers 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 vierpunktigen Notation (1.0.0.0.0). Dies finden Sie, indem Sie das folgende PowerShell-Cmdlet ausführen: $(Get-AppxPackage [AppName]).Version
ProcessorArchitecture Die Architektur, auf die das optionale Windows-App-Installationsprogramm installiert wird.
URI Der URI-Pfad zu den primären Windows-App-Installationsmedien.
<?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, die über die App-Installer-Datei verteilt wird. Dies finden Sie, indem Sie das folgende PowerShell-Cmdlet ausführen: $(Get-AppxPackage [AppName]).Name
Publisher Der kanonische Name des Herausgeberzertifikats, das zum Signieren des Abhängigkeits-Windows-App-Installers verwendet wird. Dies finden Sie, indem Sie das folgende PowerShell-Cmdlet ausführen: $(Get-AppxPackage [AppName]).Publisher
Version Die Version des Abhängigkeits-Windows-App-Installers in einer vierpunktigen Notation (1.0.0.0.0). Dies finden Sie, indem Sie das folgende PowerShell-Cmdlet ausführen: $(Get-AppxPackage [AppName]).Version
ProcessorArchitecture Die Architektur, auf die das Abhängigkeits-Windows-App-Installationsprogramm installiert wird.
URI Der URI-Pfad zu den Abhängigkeits-Windows-App-Installationsmedien.
<?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, damit die verwandten 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 Aktualisierungsüberprüfungen für den App-Start vorgenommen werden sollen, und StundenBetweenUpdateChecks>="12" gibt an, dass eine Updateüberprüfung alle 12 Stunden vorgenommen werden sollte.< Wenn HoursBetweenUpdateChecks nicht angegeben ist, ist das Standardintervall, das zum Überprüfen nach Updates verwendet wird, 24 Stunden. Weitere Arten von Updates, z. B. Hintergrundupdates, finden Sie im Update-Einstellungsschema; Weitere Arten von On-Launch-Updates wie Updates mit einer Aufforderung finden Sie im OnLaunch-Schema

Elemente Beschreibung
StundenBetweenUpdateChecks Definiert die minimale Lücke in Windows-App-Updateüberprüfungen.
UpdateBlocksActivation Definiert die Benutzeroberfläche, wenn ein App-Update überprüft wird.
ShowPrompt Definiert, ob ein Fenster angezeigt wird, wenn Updates installiert werden, und wann Updates überprüft werden.
ForceUpdateFromAnyVersion Gibt an, dass sich die nächste Version der Anwendung auf eine neuere oder ältere Version auswirken könnte. Wenn "True", alle für beides installiert werden, wenn False (Standard) nur neue Versionen installiert werden.
<?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 automatische Aktualisierung

Wichtig

Die folgenden Einstellungen sind nur verfügbar, wenn Sie das Schema 2021 auf einem Windows Insider-Build von Windows 10 verwenden.

Windows-Apps, die mit einer App Installer-Datei installiert sind, werden standardmäßig auf das Aktualisieren ihrer Windows-App aus dem App Installer-URI festgelegt, wobei die Konfigurationen im vorherigen Schritt eingehalten werden. Die in diesem Schritt konfigurierten Update-URIs dienen als Fallback-URIs, die verwendet werden können, wenn der ursprüngliche App Installer-URI nicht mehr zugänglich ist. Maximal 10 Update-URIs können für jede Windows-App konfiguriert werden.

Die Update-URIs müssen App Installer-Dateien zielen.

Hinweis

Diese Einstellungen funktionieren nur, wenn das Schema als 2021 oder neuer konfiguriert wird.

<?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 zur automatischen Reparatur

Wichtig

Die folgenden Einstellungen sind nur verfügbar, wenn Sie das Schema 2021 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 basierend auf dem App Installer-URI zu reparieren, falls nicht möglich, dann verwendet die Windows-App die Reparatur-URIs, um eine Reparaturquelle zu identifizieren. Maximal 10 Reparatur-URIs können für jede Windows-App konfiguriert werden.

Die Reparatur-URI kann die Windows-App- oder App-Installer-Dateien anzielen. Diese Einstellung erfordert nicht, dass die Windows-App mithilfe 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 unter App Installer-Dateireferenz.

Hinweis

Der Dateityp "App Installer" ist in Windows 10, Version 1709 (der Windows 10 Fall Creators Update) neu. 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.