Compartir a través de


Migrar la configuración de la aplicación

Se puede crear un archivo.xml personalizado para migrar la configuración específica de la aplicación de línea de negocio o para cambiar el comportamiento de migración predeterminado de la Herramienta de migración de estado de usuario (USMT). Para que ScanState y LoadState usen este archivo, el archivo de.xml personalizado debe especificarse en ambas líneas de comandos.

En este artículo se define cómo crear un archivo de.xml de migración personalizado que migra la configuración de una aplicación que no se migra de forma predeterminada mediante MigApp.xml. La configuración debe migrarse después de instalar la aplicación, pero antes de que el usuario ejecute la aplicación por primera vez.

Este artículo no contiene información sobre cómo migrar aplicaciones que almacenan la configuración en un almacén específico de la aplicación, solo las aplicaciones que almacenan la información en archivos o en el Registro. Tampoco contiene información sobre cómo migrar los datos que los usuarios crean mediante la aplicación. Por ejemplo, si la aplicación crea .doc archivos mediante una plantilla específica, en este artículo no se describe cómo migrar los archivos y plantillas de.doc .

Antes de comenzar

Se debe identificar un equipo de prueba que contenga el sistema operativo de los equipos de origen. El equipo de prueba también debe tener las aplicaciones cuya configuración debe migrarse. Por ejemplo, si migra de Windows 10 a Windows 11, instale Windows 10 en el equipo de prueba y, a continuación, instale las aplicaciones.

Paso 1: Compruebe que la aplicación está instalada en el equipo de origen y que es la misma versión que la versión que se va a instalar en el equipo de destino.

Antes de que USMT migre la configuración, compruebe si la aplicación está instalada en el equipo de origen y que es la versión correcta. Si la aplicación no está instalada en el equipo de origen, USMT sigue dedicando tiempo a buscar la configuración de la aplicación. Lo que es más importante, si USMT recopila la configuración de una aplicación que no está instalada, podría migrar la configuración que hace que el equipo de destino funcione incorrectamente. Determine también si hay más de una versión de la aplicación, ya que la nueva versión podría almacenar la configuración en una ubicación diferente. Las versiones de aplicación no coincidentes podrían dar lugar a resultados inesperados en el equipo de destino.

Hay muchas maneras de detectar si hay una aplicación instalada. El procedimiento recomendado consiste en buscar una clave de desinstalación de la aplicación en el registro y, a continuación, buscar en el equipo el archivo ejecutable que instaló la aplicación. Es importante comprobar ambos elementos, ya que a veces diferentes versiones de la misma aplicación comparten la misma clave de desinstalación. Incluso si la clave está allí, podría corresponder a una versión diferente de la aplicación que se desea.

Compruebe el registro para obtener una clave de desinstalación de la aplicación.

Cuando se instalan muchas aplicaciones (especialmente las instaladas con la tecnología Microsoft Windows Installer), se crea una clave de desinstalación de aplicaciones en:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Por ejemplo, cuando adobe Acrobat Reader 7 está instalado, crea una clave denominada:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall \{AC76BA86-7AD7-1033-7B44-A70000000000}

Por lo tanto, si un equipo contiene esta clave, adobe Acrobat Reader 7 se instala en el equipo. La existencia de una clave del Registro se puede comprobar mediante la DoesObjectExist función auxiliar.

Normalmente, esta clave se puede encontrar mediante la búsqueda en:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

para el nombre de la aplicación, el nombre del archivo ejecutable de la aplicación o para el nombre de la empresa que realiza la aplicación. El Editor del Registro, Regedit.exe ubicado en , %SystemRoot%se puede usar para buscar en el Registro.

Comprobación del archivo ejecutable de la aplicación en el sistema de archivos

También se deben comprobar los archivos binarios de la aplicación para el ejecutable que instaló la aplicación. Para comprobar si hay archivos binarios de la aplicación, determine dónde está instalada la aplicación y cuál es el nombre del archivo ejecutable. La mayoría de las aplicaciones almacenan la ubicación de instalación de los archivos binarios de la aplicación en el Registro. El registro debe buscarse en uno de los siguientes elementos hasta que se encuentre el valor del Registro que contiene la ruta de instalación:

  • Nombre de la aplicación.
  • Nombre del archivo ejecutable de la aplicación.
  • Nombre de la empresa que realiza la aplicación.

Una vez determinada la ruta de acceso al ejecutable de la aplicación, se puede usar la DoesFileVersionMatch función auxiliar para comprobar la versión correcta del ejecutable de la aplicación. Para obtener un ejemplo de cómo usar la DoesFileVersionMatch función auxiliar, consulta la sección Windows Live™ Messenger del MigApp.xml archivo.

Paso 2: Identificar la configuración para recopilar y determinar dónde se almacena cada configuración en el equipo

A continuación, pase por la interfaz de usuario y haga una lista de todas las opciones disponibles. La lista se puede reducir si hay configuraciones que no necesitan migrarse. Para determinar dónde se almacena cada configuración, cambie la configuración. A medida que se cambia la configuración, supervise la actividad en el registro y el sistema de archivos a través de una herramienta como Monitor de procesos. No es necesario migrar los archivos binarios y la configuración del Registro que se crean cuando se instala la aplicación. Cuando la aplicación se vuelve a instalar en el equipo de destino, vuelve a crear esa configuración. Solo es necesario migrar la configuración personalizada.

Cómo determinar dónde se almacena cada configuración

  1. Descargue una herramienta de supervisión de archivos y registro, como Monitor de procesos (Procmon), desde el sitio web de Sysinternals.

  2. Apague tantas aplicaciones como sea posible para limitar la actividad del registro y del sistema de archivos en el equipo.

  3. Filtre la salida de las herramientas para que solo muestre los cambios realizados por la aplicación.

    Nota

    La mayoría de las aplicaciones almacenan su configuración en el perfil de usuario. Es decir, la configuración almacenada en el sistema de archivos está en el %UserProfile% directorio y la configuración almacenada en el registro está en el HKEY_CURRENT_USER subárbol. Para estas aplicaciones, la salida de las herramientas de supervisión de archivos y registro se puede filtrar para mostrar la actividad solo en estas ubicaciones. Este filtrado reduce considerablemente la cantidad de salida que se debe examinar.

  4. Inicie las herramientas de supervisión, cambie una configuración y busque las escrituras del registro y del sistema de archivos que se produjeron cuando se cambió la configuración. Asegúrese de que los cambios realizados surtan efecto. Por ejemplo, si cambia una configuración en Microsoft Word seleccionando una casilla en el cuadro de diálogo Opciones , el cambio normalmente no surte efecto hasta que el cuadro de diálogo se cierre seleccionando Aceptar.

  5. Cuando se cambie la configuración, anote los cambios en el sistema de archivos y el registro. Puede haber más de un archivo o valores del Registro para cada configuración. Se debe identificar el conjunto mínimo de cambios de archivo y registro necesarios para cambiar esta configuración. Este conjunto de archivos y claves del Registro es lo que se debe migrar para migrar la configuración.

    Nota

    El cambio de una configuración de aplicación invariablemente conduce a la escritura en claves del Registro. Si es posible, filtre la salida de la herramienta de supervisión de archivos y registro para mostrar solo las escrituras en archivos y claves o valores del Registro.

Paso 3: Identificar cómo aplicar la configuración recopilada

Si la versión de la aplicación en el equipo de origen es la misma que la del equipo de destino, no es necesario modificar los archivos recopilados ni las claves del Registro. De forma predeterminada, USMT migra los archivos y las claves del Registro de la ubicación de origen a la ubicación correspondiente en el equipo de destino. Por ejemplo, si se recopiló un archivo de la C:\Users\User1\Documents carpeta y el directorio de perfil del equipo de destino se encuentra en D:\Users\User1, USMT migra automáticamente el archivo a D:\Users\User1\Documents. Sin embargo, es posible que sea necesario modificar la ubicación de algunas configuraciones en los tres casos siguientes:

Caso 1: La versión de la aplicación en el equipo de destino es más reciente que la del equipo de origen

En este caso, es posible que la versión más reciente de la aplicación pueda leer la configuración del equipo de origen sin modificaciones. Es decir, los datos recopilados de una versión anterior de la aplicación a veces son compatibles con la versión más reciente de la aplicación. Sin embargo, es posible que sea necesario modificar la ubicación de configuración si se cumple alguna de las condiciones siguientes:

  • La versión más reciente de la aplicación tiene la capacidad de importar la configuración de una versión anterior. Esta asignación suele producirse la primera vez que un usuario ejecuta la versión más reciente después de migrar la configuración. Algunas aplicaciones importan la configuración automáticamente después de migrar la configuración. Sin embargo, otras aplicaciones solo importan la configuración si la aplicación se actualizó desde la versión anterior. Cuando se actualiza la aplicación, se instala un conjunto de archivos o claves del Registro que indica que se instaló anteriormente la versión anterior de la aplicación. Si se realiza una instalación limpia de la versión más reciente, el equipo no contiene estos archivos ni claves del Registro. Si los archivos y las claves del Registro no están presentes, no se produce la asignación. Para engañar a la versión más reciente de la aplicación para que inicie este proceso de importación, es posible que el script de migración tenga que crear estos archivos o claves del Registro en el equipo de destino.

    Para identificar qué archivos o claves o valores del Registro deben crearse para que funcione la importación:

    1. Actualice la versión anterior de la aplicación a la más reciente.
    2. Supervise los cambios realizados en el sistema de archivos y el registro mediante el mismo proceso descrito en Cómo determinar dónde se almacena cada configuración.

    Una vez conocido el conjunto de archivos que necesita el equipo, se puede usar el <elemento addObjects> para agregarlos al equipo de destino.

  • La versión más reciente de la aplicación no puede leer la configuración del equipo de origen y tampoco puede importar la configuración en el nuevo formato. En este caso, cree una asignación para cada configuración desde las ubicaciones antiguas a las nuevas ubicaciones. Para crear la asignación, determine dónde almacena la versión más reciente cada configuración mediante el proceso descrito en Cómo determinar dónde se almacena cada configuración. Después de crear la asignación, aplique la configuración a la nueva ubicación en el equipo de destino mediante el <elemento locationModify> y las RelativeMove funciones auxiliares y ExactMove .

Caso 2: El equipo de destino ya contiene la configuración de la aplicación

Microsoft recomienda migrar la configuración una vez instalada la aplicación, pero antes de que el usuario ejecute la aplicación por primera vez. Microsoft recomienda este proceso porque este proceso garantiza que no hay ninguna configuración en el equipo de destino cuando se migra la configuración. Si la aplicación debe instalarse antes de la migración, cualquier configuración existente debe eliminarse mediante el <elemento destinationCleanup> . Si por algún motivo es necesario conservar la configuración que se encuentra en el equipo de destino, se pueden usar el elemento merge> y la< función auxiliar.DestinationPriority

Caso 3: La aplicación sobrescribe la configuración cuando se instala

Microsoft recomienda migrar la configuración una vez instalada la aplicación, pero antes de que el usuario ejecute la aplicación por primera vez. Microsoft recomienda este proceso porque este proceso garantiza que no hay ninguna configuración en el equipo de destino cuando se migra la configuración. Además, cuando se instalan algunas aplicaciones, sobrescriben cualquier configuración existente que se encuentra en el equipo. En este escenario, si los datos se migraron antes de instalar la aplicación, se sobrescribiría la configuración personalizada. Este escenario es común para las aplicaciones que almacenan la configuración en ubicaciones que están fuera del perfil de usuario (normalmente, esta configuración es la que se aplica a todos los usuarios). Estas configuraciones universales a veces se sobrescriben cuando se instala una aplicación y se reemplazan por valores predeterminados. Para evitar este problema, estas aplicaciones deben instalarse antes de migrar los archivos y la configuración al equipo de destino. De forma predeterminada con USMT, los datos del equipo de origen sobrescriben los datos que ya existen en la misma ubicación en el equipo de destino.

Paso 4: Creación del componente XML de migración para la aplicación

Después de completar los pasos del 1 al 3, cree un archivo de migración personalizada.xml que migre la aplicación en función de la información actualizada. El MigApp.xml archivo se puede usar como modelo porque contiene ejemplos de muchos de los conceptos descritos en este artículo. Consulte también Ejemplos XML personalizados para obtener otro archivo de.xml de ejemplo.

Nota

Microsoft recomienda crear un archivo .xml independiente en lugar de agregar un script al MigApp.xml archivo. Se recomienda un archivo .xml independiente porque es MigApp.xml un archivo grande y es difícil de leer y editar. Además, si se vuelve a instalar USMT, el MigApp.xml archivo se sobrescribe con la versión predeterminada del archivo y se pierde la versión personalizada.

Importante

Algunas aplicaciones almacenan información en el perfil de usuario, como las rutas de instalación de la aplicación, el nombre del equipo etcetera. La información de la aplicación almacenada en el perfil de usuario no debe migrarse y debe excluirse de la migración.

El script debe realizar las siguientes acciones:

  1. Compruebe si la versión correcta de la aplicación está instalada:

    • Busque la clave de desinstalación de instalación en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall mediante la DoesObjectExist función auxiliar.

    • Compruebe la versión correcta del archivo ejecutable de la aplicación mediante la DoesFileVersionMatch función auxiliar.

  2. Si se instala la versión correcta de la aplicación, asegúrese de que cada configuración se migre a la ubicación adecuada en el equipo de destino.

    • Si las versiones de las aplicaciones son las mismas en los equipos de origen y de destino, migre cada configuración mediante los <elementos include> y <exclude> .

    • Si la versión de la aplicación en el equipo de destino es más reciente que la del equipo de origen y la aplicación no puede importar la configuración, el script debe:

      1. Agregue el conjunto de archivos que desencadenan la importación mediante el <elemento addObjects> .
      2. Cree una asignación que aplique la configuración anterior a la ubicación correcta en el equipo de destino mediante el <elemento locationModify> y las RelativeMove funciones auxiliares y ExactMove .
    • Si la aplicación debe instalarse antes de migrar la configuración, elimine cualquier configuración que ya esté en el equipo de destino mediante el <elemento destinationCleanup> .

Para obtener información sobre los elementos.xml y las funciones auxiliares, vea Biblioteca de elementos XML.

Paso 5: Probar la migración de la configuración de la aplicación

En un equipo de prueba, instale el sistema operativo que se instalará en los equipos de destino. Por ejemplo, si planea migrar de Windows 10 a Windows 11, instale Windows 11 e instale la aplicación en Windows 11. A continuación, ejecute LoadState en el equipo de prueba y compruebe que se migran todas las configuraciones. Realice correcciones si es necesario y repita el proceso hasta que todos los valores necesarios se migren correctamente.

Para acelerar el tiempo necesario para recopilar y migrar los datos, solo se puede migrar un usuario a la vez. Todos los demás componentes se pueden excluir de la migración excepto la aplicación que se está probando. Para especificar solo User1 en la migración, escriba:

/ue:*\* /ui:user1

Para obtener más información, vea el artículo Excluir archivos y configuración y la sección Opciones de usuario en el artículo Sintaxis de ScanState . Para solucionar un problema, compruebe el registro de progreso, el registro ScanState y el registro LoadState . Los registros contienen advertencias y errores que podrían apuntar a problemas con la migración.