Compartir a través de


Preinstalar aplicaciones con DISM

Nota

¿Te interesa preinstalar aplicaciones de Microsoft Store, pero no eres un OEM? Para obtener información sobre la instalación de prueba de aplicaciones para organizaciones, consulte Transferir localmente aplicaciones con DISM.

En este tema se explica cómo preinstalar aplicaciones para que se incluyan como parte de una imagen de Windows.

Sugerencia

Las aplicaciones de soporte técnico de hardware (HSA) son aplicaciones de Microsoft Store y se aplican las siguientes instrucciones.

Trabajar con paquetes de aplicaciones

Use DISM para aprovisionar sin conexión una aplicación en una imagen. Puede usar DISM desde el símbolo del sistema o los cmdlets DISM en Windows PowerShell.

En versiones anteriores de Windows 10, las aplicaciones universales preinstaladas y las aplicaciones de Microsoft Store tenían que anclarse al menú Inicio. Windows quitaría las aplicaciones preinstaladas pero no ancladas al menú Inicio.

A partir de Windows 10, versión 1803, las aplicaciones se pueden preinstalar sin anclarse al menú Inicio cuando se usa DISM /add-provisionedappxpackage con la /region opción . Al preinstalar una aplicación, puede dejar la aplicación fuera de la LayoutModification.xml y la aplicación se instalará correctamente sin aparecer como un icono del menú Inicio. Cuando no se especifica una lista de regiones, la aplicación se aprovisionará solo si está anclada al diseño de inicio.

Extracción de los archivos de paquete

  1. Vaya a la carpeta donde guardó los paquetes de aplicación que descargó del Panel de partners.

  2. Haga clic con el botón derecho en cada carpeta .zip que contenga los archivos del paquete de la aplicación. Haga clic en Extraer todo y seleccione una ubicación para guardar las carpetas del archivo de paquete.

    La carpeta contiene todos los archivos desempaquetados del paquete, incluido un paquete principal, los paquetes de dependencia y el archivo de licencia.

Importante

No modifique la carpeta una vez que haya extraído los archivos de paquete. Si cambias, agregas o quitas los archivos de la carpeta, se producirá un error en la aplicación durante la instalación o el inicio. Incluso examinar la carpeta puede causar problemas.

Deberá usar el archivo de licencia de los archivos de paquete para probar la imagen aprovisionada. La creación de su propio archivo de datos personalizado no le permitirá probar con precisión una aplicación preinstalada por un OEM.

Para el aprovisionamiento sin conexión de una aplicación en una imagen, puede usar la herramienta Dism.exe o los cmdlets DISM en Windows PowerShell para agregar una aplicación desde una carpeta de archivos desempaquetados.

Preinstalar una aplicación firmada por Microsoft Store con DISM

  1. Abra el símbolo del sistema como administrador.

  2. Monte una imagen de Windows para la que quiera atender:

    Dism /Mount-Image /ImageFile:c:\images\myimage.wim /Index:1 /mountdir:c:\test\offline
    
  3. Agregue la aplicación a la imagen montada. Use las /PackagePath opciones y /DependencyPackagePath .

    • Packagepath es la ruta de acceso al paquete o al archivo de paquete .appx.
    • DependencyPackagePath es la ruta de acceso para especificar cada paquete de dependencia. Puede tener más de una dependencia por comando.
    • Novedad de Windows 10, versión 1803: use la Region opción al agregar aplicaciones. Region permite agregar una aplicación sin tener que anclar la aplicación al menú Inicio.
    Dism /Image:c:\test\offline /Add-ProvisionedAppxPackage /PackagePath:c:\downloads\package.appxbundle /DependencyPackagePath:c:\downloads\dependency1.appx /DependencyPackagePath:c:\downloads\dependency2.appx /LicensePath=c:\downloads\package_License1.xml /region=all"
    

    Consulte Opciones de línea de comandos de mantenimiento de paquetes de aplicaciones DISM para obtener información sobre cómo trabajar con paquetes de aplicación, incluida la nueva opción /region.

  4. Ancle la aplicación al menú Inicio.

  5. Guarde los cambios y desmonte la imagen. En el símbolo del sistema, escriba:

    Dism /Unmount-Image /mountdir:c:\test\offline /commit
    

Nota

Las aplicaciones de Microsoft Store no se ejecutan en modo auditoría. Para probar la implementación, ejecute Windows y cree un nuevo perfil de usuario. Para obtener más información sobre el modo de auditoría, vea Información general sobre el modo auditoría.

Importante Si va a preinstalar una aplicación de dispositivo de banda ancha móvil, debe insertar la tarjeta SIM en el equipo antes de ejecutar la fase especializada de Sysprep. Para obtener más información sobre cómo preinstalar una aplicación de dispositivo de banda ancha móvil, consulte Preinstalar los componentes necesarios para una experiencia de aplicación de banda ancha móvil.

Actualizar o quitar paquetes

Puede quitar una aplicación preinstalada, incluidos los archivos de datos personalizados y de licencia, de una imagen de Windows mediante la herramienta DISM.exe o los cmdlets DISM de Windows PowerShell. Debe quitar la versión anterior de la aplicación antes de instalar una nueva.

Eliminación de una aplicación preinstalada mediante DISM

  1. Abra el símbolo del sistema de las Herramientas de implementación, instalado con Windows ADK, con privilegios de administrador. En la pantalla Inicio, escriba Entorno de herramientas de implementación e imágenes, haga clic con el botón derecho en el icono y seleccione Ejecutar como administrador.

  2. Monte la imagen sin conexión para el mantenimiento. En el símbolo del sistema, escriba:

    Dism /Mount-Image /ImageFile:c:\images\myimage.wim /Index:1 /mountdir:c:\test\offline
    
  3. Busque el nombre completo del paquete de la aplicación que desea quitar. En el símbolo del sistema, escriba:

    Dism /Image:C:\test\offline /Get-ProvisionedAppxPackages
    
  4. Quite la aplicación de la imagen montada. Por ejemplo, en el símbolo del sistema, escriba:

    Dism /Image:c:\test\offline /Remove-ProvisionedAppxPackage /PackageName:microsoft.devx.appx.app1_1.0.0.0_neutral_en-us_ac4zc6fex2zjp
    
  5. Si quieres actualizar la aplicación, puedes preinstalar la versión actualizada de la aplicación firmada por Microsoft Store. En una ventana de símbolo del sistema, escriba:

    Dism /Image:c:\test\offline /Add-ProvisionedAppxPackage/FolderPath:c:\downloads\appxpackage
    
  6. Guarde los cambios y desmonte la imagen. En el símbolo del sistema, escriba:

    Dism /Unmount-Image /mountdir:c:\test\offline /commit
    

Uso de archivos de datos personalizados

Las aplicaciones preinstaladas en un equipo pueden acceder a datos personalizados específicos de la instalación. Estos datos personalizados se agregan a la aplicación durante la preinstalación y están disponibles en tiempo de ejecución. Los datos personalizados permiten a los desarrolladores personalizar las características y funcionalidades de una aplicación, lo que incluye proporcionar funcionalidades de informes.

Agregar un archivo de datos personalizado a una imagen de Windows

Debe especificar el archivo de datos personalizado al preinstalar la aplicación mediante la herramienta DISM y a través de Windows PowerShell mediante el cmdlet Add-AppxProvisionedPackage. El siguiente comando muestra cómo hacerlo mediante la herramienta DISM:

Dism /Image:C:\test\offline /Add-ProvisionedAppxPackage / FolderPath:f:\Apps\Fabrikam_KnowMyPC /CustomDataPath:f:\Contoso_Promotion.xml

Si ya existe un archivo de datos personalizado en el almacén de datos de una aplicación (por ejemplo, si el paquete ya se ha agregado a la imagen), se sobrescribe el archivo existente. Si se produce un error en la instalación, el archivo no se restaura.

Nota Puedes publicar actualizaciones en una aplicación a través de Microsoft Store sin perder el archivo de datos personalizado. Sin embargo, si un usuario elimina la aplicación, el archivo de datos personalizado ya no está disponible, incluso si el usuario vuelve a instalar la aplicación.

Prueba de datos personalizados para aplicaciones preinstaladas

Las aplicaciones preinstaladas en un equipo pueden acceder a datos personalizados específicos de la instalación. Estos datos personalizados se agregan a la aplicación durante la preinstalación y están disponibles para la aplicación en tiempo de ejecución. Los datos personalizados permiten a los desarrolladores personalizar las características y funcionalidades de una aplicación, lo que incluye proporcionar funcionalidades de informes.

El archivo Custom.data aparece en la ubicación instalada de la aplicación. El nombre Custom.data está codificado de forma rígida y no se puede modificar. La aplicación puede comprobar la existencia de este archivo para determinar si la aplicación estaba preinstalada en el equipo. Este es un ejemplo de cómo acceder al archivo Custom.data.

var outputDiv = document.getElementById("CustomData");
Windows.ApplicationModel.Package.current.installedLocation.getFileAsync
     ("microsoft.system.package.metadata\\Custom.data").then(function (file) {
         // Read the file
         Windows.Storage.FileIO.readTextAsync(file).done(function (fileContent) {
            outputDiv.innerHTML = 
                 "App is preinstalled. CustomData contains:<br /><br />"
                 + fileContent;
         },
         function (error) {
             outputDiv.innerText = "Error reading CustomData " + error;
         });
     },
     function (error) {
         outputDiv.innerText = "CustomData was not available. App not preinstalled";
     });

El archivo Custom.data puede incluir cualquier contenido y estar en cualquier formato que requiera la aplicación. El proceso de preinstalación simplemente hace que esté disponible para la aplicación. Los desarrolladores pueden proporcionar el archivo de datos al asociado de preinstalación, o bien puede aceptar un formato que permita al asociado generar el contenido.

Prueba de los datos personalizados

Al compilar y depurar la aplicación en Microsoft Visual Studio, no puede acceder al archivo Custom.data desde la ubicación instalada de la aplicación porque la aplicación aún no está preinstalada. Puede simular el uso del archivo Custom.data colocando un archivo Custom.data de prueba en la propia aplicación y cargando y probando el archivo local de la aplicación. Para ello, modifique el ejemplo de código de:

("microsoft.system.package.metadata\\Custom.data").then(function (file) {

a:

("Custom.data").then(function (file) {

Después de comprobar el formato de archivo y el contenido, puede cambiar la ubicación del archivo Custom.data a la ubicación final, como se muestra en el ejemplo original anterior.

Para probar el archivo Custom.data

  1. Abra el símbolo del sistema de las Herramientas de implementación, instalado con Windows ADK, con privilegios de administrador. En la pantalla Inicio, escriba Entorno de herramientas de implementación e imágenes, haga clic con el botón derecho en el icono y seleccione Ejecutar como administrador.

  2. Agregue la aplicación con el archivo de datos personalizado:

    dism /online /Add-ProvisionedAppxPackage /PackagePath:.\CustomData_1.0.0.1_AnyCPU_Debug.appx /CustomDataPath:.\Test.txt /SkipLicense
    

    Donde /PackagePath:.\CustomData_1.0.0.1_AnyCPU_Debug.appx apunta al paquete de prueba de la aplicación local y dónde /CustomDataPath:.\Test.txt apunta al archivo Custom.data. Ten en cuenta que el nombre de archivo que proporciones aquí no se usa después de instalar los datos en la aplicación.

    La aplicación ahora tiene un icono en la pantalla Inicio del equipo que se usa para probar la aplicación. La aplicación debe poder acceder al archivo Custom.data. Si se necesita depuración adicional, adjunte un depurador después de iniciar la aplicación desde la pantalla Inicio .

    Nota Es posible que tenga que cerrar sesión e iniciar sesión de nuevo para ver la aplicación en la pantalla Inicio .

  3. Una vez que haya terminado de probar la aplicación, debe quitar el paquete preinstalado para seguir usando el entorno de desarrollo. Para quitar el paquete preinstalado mediante Windows PowerShell, puede usar el cmdlet Get-AppxPackage para proporcionar el nombre completo del paquete de la aplicación a través de la canalización al cmdlet Remove-ProvisionedAppxPackage:

    Get-AppxPackage *CustomData* | Remove-ProvisionedAppxPackage

    Donde *CustomData* es la parte conocida del nombre de la aplicación

Preinstalar una aplicación de dispositivo de Microsoft Store o una aplicación de banda ancha móvil

Puedes preinstalar los componentes necesarios para una aplicación de dispositivo de Microsoft Store o una aplicación de banda ancha móvil mediante la plataforma De mantenimiento y administración de imágenes de implementación (DISM).

Nota Este artículo está pensado para los OEM, que admitirán una aplicación de dispositivo de Microsoft Store o la aplicación de banda ancha móvil en sus dispositivos.

Para cada tipo de aplicación, se deben preinstalar dos cosas para proporcionar la aplicación de dispositivo de Microsoft Store correcta o la aplicación de banda ancha móvil:

  • Aplicación de dispositivo de Microsoft Store, preinstalar:
    1. El paquete de metadatos del dispositivo
    2. La aplicación
  • Aplicación de banda ancha móvil de Microsoft Store, preinstalar:
    1. El paquete de metadatos del servicio
    2. La aplicación

Importante Aunque los paquetes de metadatos y las aplicaciones correspondientes se analizan inmediatamente después de que se complete el proceso de OOBE, es posible que un usuario pueda iniciar la aplicación antes de analizar el paquete de metadatos. En este caso, el usuario verá un error de acceso denegado. Para evitar esto, aplique tanto el paquete de metadatos como la aplicación a la imagen del sistema.

Preinstalar los metadatos del dispositivo o el paquete de metadatos del servicio

Para preinstalar un paquete de metadatos de servicio o metadatos de dispositivo

  1. Si va a preinstalar una aplicación de dispositivo de Microsoft Store, debe haber adquirido el paquete de metadatos del dispositivo. Si va a preinstalar una aplicación de banda ancha móvil, debe haber adquirido el paquete de metadatos del servicio.

    Nota Los paquetes de metadatos de dispositivo y los paquetes de metadatos de servicio usan la misma extensión de nombre de archivo (.devicemetadata-ms).

  2. Copie los metadatos del dispositivo o el paquete de metadatos del servicio (archivo devicemetadata-ms) en la imagen del sistema en la carpeta %ProgramData%\Microsoft\Windows\DeviceMetadataStore . Para ello, siga uno de estos métodos:

    • En línea antes de ejecutar Sysprep

    • Sin conexión después de ejecutar Sysprep mediante DISM. Para ello, siga estos pasos:

      1. Monte la imagen sin conexión para el mantenimiento.

        Dism /Mount-Image /ImageFile:C:\test\images\myimage.wim /index:1 /MountDir:C:\test\offline
        
      2. Copie los archivos del paquete de metadatos en el almacén de metadatos del dispositivo de la imagen montada. Por ejemplo, para copiar el archivo de paquete de metadatos 0ECF2029-2C6A-41AE-9E0A-63FFC9EAD877.devicemetadata-ms en el almacén de metadatos del dispositivo, ProgramData\Microsoft\Windows\DeviceMetadataStore:

        copy 0ECF2029-2C6A-41AE-9E0A-63FFC9EAD877.devicemetadata-ms C:\test\offline\ProgramData\Microsoft\Windows\DeviceMetadataStore
        
      3. Guarde los cambios y desmonte la imagen.

        dism /Unmount-Image /mountdir: c:\test\offline /commit
        

      Para obtener más información sobre el mantenimiento de imágenes sin conexión, consulta Información general sobre DISM.

Para obtener más información sobre los metadatos del servicio, consulte Metadatos del servicio.

Preinstalar la aplicación de dispositivo de Microsoft Store o la aplicación de banda ancha móvil

Para preinstalar la aplicación de dispositivo de Microsoft Store o la aplicación de banda ancha móvil

  1. Monte la imagen sin conexión para el mantenimiento.

    Dism /Mount-Image /ImageFile:C:\test\images\myimage.wim /index:1 /MountDir:C:\test\offline
    
  2. Agregue la aplicación de dispositivo de Microsoft Store o la aplicación de banda ancha móvil a la imagen.

    dism /Image:<mounted folder> /Add-ProvisionedAppxPackage /FolderPath:<appxpackage path>
    
  3. Guarde los cambios y desmonte la imagen.

    dism /Unmount-Image /mountdir: c:\test\offline /commit