Creación manual de un archivo Instalador de aplicación

En este artículo se muestra cómo crear manualmente un archivo Instalador de aplicación que define un conjunto relacionado con funcionalidades de autoupdating y reparación. Un conjunto relacionado no es una entidad, sino una combinación de un paquete principal y paquetes opcionales.

Para poder instalar un conjunto relacionado como una entidad, debemos ser capaces de especificar el paquete principal y el paquete opcional como uno. Para ello, será necesario crear un archivo XML con una extensión .appinstaller para definir un conjunto relacionado. Instalador de aplicación usa el archivo*.appinstaller y permite al usuario instalar todos los paquetes definidos con un solo clic.

Durante la implementación, Instalador de aplicación archivo:

  • El Windows aplicación de destino al que se hace referencia en el atributo del elemento MainPackage validará los atributos y del paquete de URI< Windows aplicación de >NamePublisherVersion destino. Si el elemento Package/Identity del manifiesto del paquete Windows aplicación no coincide, se producirá un error en la instalación.
  • Cree una referencia a los URI de actualización y reparación de la familia del paquete.

Cómo crear un archivo Instalador de aplicación archivo

Para distribuir el conjunto relacionado como una entidad, debe crear un archivo Instalador de aplicación que contenga los elementos necesarios para ese esquema del instalador de aplicaciones.

  1. Cree el *. Archivo AppInstaller.
  2. Especifique los Instalador de aplicación de archivo.
  3. Especifique el paquete Windows aplicación principal.
  4. Especifique el conjunto relacionado Paquete opcional.
  5. Especifique la dependencia Windows paquete de marco de trabajo de la aplicación.
  6. Especifique las rutas de acceso del URI de actualización.
  7. Especifique las rutas de acceso del URI de reparación.
  8. Especifique el valor de Update Configuración.
Ejemplo de un Instalador de aplicación archivo

Siguiendo los pasos indicados anteriormente, habrá creado correctamente un archivo Instalador de aplicación similar al siguiente:

<?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>

Paso 1: Crear el archivo *.appinstaller

Con un editor de texto (Notepad.exe), cree un nuevo archivo con una extensión de nombre de archivo de *. Appinstaller

Procedimientos:
  1. Abra el menú Inicio.
  2. Escriba lo siguiente: notepad.exe .
  3. Abra el menú Archivo.
  4. Seleccione Guardar como en el menú desplegable.

Paso 2: Agregar la plantilla básica

Incluya el AppInstaller elemento en el archivo Instalador de aplicación que note la versión, la ruta de acceso y la ubicación de red del Instalador de aplicación archivo. La información del elemento AppInstaller se consumirá al instalar las aplicaciones Windows asociadas.

Elemento Descripción
xmlns El espacio de nombres XML
Versión La versión del Instalador de aplicación en una notación de cuatro puntos (1.0.0.0).
URI Ruta de acceso uri al archivo de Instalador de aplicación actual, al que puede acceder el dispositivo.
Procedimientos:
  1. Abra el archivo creado en el paso 1.

  2. Copie el siguiente contenido XML en *. Archivo AppInstaller.

    <?xml version="1.0" encoding="utf-8"?>
    <AppInstaller
        xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
        Version=""
        Uri="" >
    </AppInstaller>
    
  3. Actualice el Version atributo con la versión del archivo Instalador de aplicación.

  4. Actualice el URI atributo con la ubicación de red donde este *URI será accesible desde .

Paso 3: Agregar la información del paquete principal

y <MainPackage><MainBundle> se usan para identificar la aplicación Windows principal que se instalará mediante el Instalador de aplicación archivo. se <MainPackage> usa cuando el instalador Windows aplicación es *<MainPackage>o *.appx. Use cuando el instalador de Windows es un instalador de aplicación Windows empaquetado, con una extensión de <MainBundle> *<MainBundle>o *.appxbundle.

Elemento Descripción
NOMBRE Nombre de la aplicación principal a la que se distribuye a través del Instalador de aplicación principal. Para ello, ejecute el siguiente cmdlet de PowerShell: $(Get-AppxPackage [AppName]).Name .
Publisher Nombre canónico del certificado de publicador que se usa para firmar el instalador Windows aplicación principal. Para ello, ejecute el siguiente cmdlet de PowerShell: $(Get-AppxPackage [AppName]).Publisher .
Versión La versión del instalador Windows aplicación principal en una notación de cuatro puntos (1.0.0.0). Para ello, ejecute el siguiente cmdlet de PowerShell: $(Get-AppxPackage [AppName]).Version .
ProcessorArchitecture La arquitectura en la que se Windows el instalador de la aplicación principal.
Identificador URI Ruta de acceso del URI al medio de instalación Windows aplicación principal.

La información del atributo o debe coincidir con el elemento Package/Identity del manifiesto del paquete de aplicaciones o <MainBundle> del manifiesto del paquete de <MainPackage> aplicación, respectivamente. <MainBundle>

Windows instalador de aplicación

Si el paquete de aplicación principal es un archivo .msix o .appx, use <MainPackage> , como se muestra a continuación. Asegúrese de incluir ProcessorArchitecture, ya que es obligatorio para los paquetes que no son de agrupación.

<?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 instalador de lote de aplicaciones

Si el paquete de aplicación principal es un archivo .msixbundle o .appxbundle, use en lugar de , como se muestra a <MainBundle><MainPackage> continuación. En el caso de los paquetes, No se requiere ProcessorArchitecture.

<?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>

Paso 4: Agregar los paquetes opcionales

De forma similar al atributo del paquete de aplicación principal, si el paquete opcional puede ser un paquete de aplicación o un paquete de aplicaciones, el elemento secundario dentro del atributo debe <OptionalPackages> ser <Package> o , <Bundle> respectivamente. La información del paquete de los elementos secundarios debe coincidir con el elemento de identidad del manifiesto de paquete o agrupación.

Elemento Descripción
NOMBRE Nombre de la aplicación opcional a la que se distribuye a través Instalador de aplicación archivo. Para ello, ejecute el siguiente cmdlet de PowerShell: $(Get-AppxPackage [AppName]).Name .
Publisher Nombre canónico del certificado de publicador que se usa para firmar el instalador Windows aplicación opcional. Para ello, ejecute el siguiente cmdlet de PowerShell: $(Get-AppxPackage [AppName]).Publisher .
Versión La versión del instalador Windows aplicación opcional en una notación de cuatro puntos (1.0.0.0). Para ello, ejecute el siguiente cmdlet de PowerShell: $(Get-AppxPackage [AppName]).Version .
ProcessorArchitecture Arquitectura en la que se instala Windows instalador de aplicaciones opcionales.
Identificador URI Ruta de acceso del URI al medio de instalación Windows aplicación principal.
<?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>

Paso 5: Agregar dependencias

En el elemento dependencies, puede especificar los paquetes de marco necesarios para el paquete principal o los paquetes opcionales.

Elemento Descripción
NOMBRE Nombre de la aplicación de dependencia a la que se distribuye a través Instalador de aplicación archivo. Para ello, ejecute el siguiente cmdlet de PowerShell: $(Get-AppxPackage [AppName]).Name .
Publisher Nombre canónico del certificado de publicador que se usa para firmar la dependencia Windows instalador de la aplicación. Para ello, ejecute el siguiente cmdlet de PowerShell: $(Get-AppxPackage [AppName]).Publisher .
Versión La versión del instalador de Windows aplicación en una notación de cuatro puntos (1.0.0.0). Para ello, ejecute el siguiente cmdlet de PowerShell: $(Get-AppxPackage [AppName]).Version .
ProcessorArchitecture La arquitectura en la que se instala la Windows del instalador de la aplicación.
Identificador URI Ruta de acceso del URI a la dependencia Windows de instalación de la aplicación.
<?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>

Paso 6: Agregar configuración de actualización

El Instalador de aplicación archivo también puede especificar la configuración de actualización para que los conjuntos relacionados se puedan actualizar automáticamente cuando se publique un archivo Instalador de aplicación más reciente. es un elemento opcional. Dentro de la opción OnLaunch especifica que se deben realizar comprobaciones de actualización al iniciar la aplicación, y HoursBetweenUpdateChecks="12" especifica que se debe realizar una comprobación de actualización cada 12 horas. Si no se especifica HoursBetweenUpdateChecks, el intervalo predeterminado que se usa para buscar actualizaciones es de 24 horas. Los tipos adicionales de actualizaciones, como las actualizaciones en segundo plano, se pueden encontrar en el esquema update Configuración ; Se pueden encontrar tipos adicionales de actualizaciones en el inicio, como actualizaciones con un símbolo del sistema, en el esquema OnLaunch.

Elementos Descripción
HoursBetweenUpdateChecks Define la diferencia mínima en las Windows de actualización de la aplicación.
UpdateBlocksActivation Define la experiencia cuando se comprueba una actualización de la aplicación.
ShowPrompt Define si se muestra una ventana cuando se instalan actualizaciones y cuándo se comprueban las actualizaciones.
<?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>

Paso 7: Agregar actualización automática Configuración

Importante

La siguiente configuración solo está disponible cuando se usa el esquema 2021 en una compilación Windows Insider de Windows 10.

Windows aplicaciones instaladas con un archivo Instalador de aplicación actualizarán de forma predeterminada su aplicación de Windows desde el URI de Instalador de aplicación, de acuerdo con las configuraciones establecidas en el paso anterior. Los URI de actualización configurados en este paso actuarán como URI de reserva que se pueden usar si el URI de Instalador de aplicación original ya no es accesible. Se puede configurar un máximo de 10 URI de actualización para cualquier Windows aplicación.

El URI de actualización debe tener como destino Instalador de aplicación archivos.

Nota:

Esta configuración solo funciona cuando el esquema está configurado como 2021 o posterior.

<?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>

Paso 8: Agregar reparación automática Configuración

Importante

La siguiente configuración solo está disponible cuando se usa el esquema 2021 en una compilación Windows Insider de Windows 10.

Windows aplicaciones instaladas en un dispositivo pueden admitir la reparación automática de la aplicación Windows cuando se ha alterado. El instalador de origen que se usará para reparar la aplicación Windows se puede configurar mediante la <RepairURIs> propiedad . La Windows intentará repararse en función del URI de Instalador de aplicación, si no es accesible, la aplicación Windows usará el URI de reparación para identificar un origen de reparación. Se puede configurar un máximo de 10 URI de reparación para cualquier Windows aplicación.

Los URI de reparación pueden tener como destino Windows o archivos Instalador de aplicación aplicación. Esta configuración no requiere que la aplicación Windows se haya instalado mediante un Instalador de aplicación archivo.

<?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>

Para obtener todos los detalles sobre el esquema XML, vea Instalador de aplicación referencia de archivo.

Nota:

El Instalador de aplicación archivo es nuevo en Windows 10, versión 1709 (el Windows 10 Fall Creators Update). No se admite la implementación de aplicaciones Windows 10 mediante un archivo Instalador de aplicación en versiones anteriores de Windows 10. El elemento HoursBetweenUpdateChecks está disponible a partir Windows 10, versión 1803.