Share via


Migrar la configuración de la aplicación

Puedes crear un archivo .xml personalizado para migrar configuraciones específicas de aplicaciones 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) 5.0. Para que ScanState y LoadState usen este archivo, debes especificar el archivo .xml personalizado en ambas líneas de comandos.

En este tema se explica cómo crear un archivo .xml de migración personalizado que migra la configuración de una aplicación que no se migra de forma predeterminada mediante MigApp.xml. Debes migrar la configuración después de instalar la aplicación, pero antes de que el usuario ejecute dicha aplicación por primera vez.

En este tema no encontrarás información sobre cómo migrar aplicaciones que almacenan la configuración en un almacén específico de la aplicación, sino sobre aquellas que almacenan la información en archivos o en el Registro. Tampoco encontrarás información sobre cómo migrar los datos que los usuarios crean con la aplicación. Por ejemplo, si la aplicación crea archivos .doc mediante una plantilla específica, este tema no se centra en cómo migrar los archivos .doc ni las plantillas en sí.

En este tema

  • Antes de comenzar

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

  • Paso 2: Identificar las opciones de configuración que se deben recopilar y averiguar dónde se almacenan en el equipo

  • Paso 3: Saber cómo aplicar las opciones de configuración recopiladas

  • Paso 4: Crear el componente XML de migración de la aplicación

  • Paso 5: Comprobar la migración de la configuración de la aplicación

Antes de comenzar

Debes escoger un equipo de prueba que contenga el sistema operativo de los equipos de origen, así como la aplicación cuya configuración quieres migrar. Por ejemplo, si tienes previsto hacer una migración de Windows Vista® a Windows® 8, instala Windows Vista en el equipo de prueba y luego instala la aplicación.

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

Antes de que USMT migre la configuración, debes asegurarte de que la aplicación está instalada en el equipo de origen y que la versión es la correcta. Seguramente no quieras que USMT pierda tiempo buscando la configuración de una aplicación que no está instalada. Es más, si USMT recopila la configuración de una aplicación que no está instalada, puede que migre una configuración que haga que el equipo de destino no funcione del modo adecuado. También debes averiguar si hay más de una versión de la aplicación. Esto se debe a que es posible que la nueva versión no almacene la configuración en la misma ubicación, lo que puede ocasionar resultados inesperados en el equipo de destino.

Hay muchos modos de detectar si una aplicación está instalada. El procedimiento recomendado es buscar una clave de desinstalación de la aplicación en el Registro y, luego, buscar en el equipo el archivo ejecutable que instaló la aplicación. Es importante confirmar que estos dos elementos están presentes, porque algunas veces hay diferentes versiones de la misma aplicación que comparten la misma clave de desinstalación. Por lo tanto, aunque la clave exista, puede que no se corresponda con la versión de la aplicación que nos ocupa.

Buscar la clave de desinstalación de una aplicación en el Registro

Cuando hay muchas aplicaciones instaladas (en especial, aplicaciones que se instalan mediante la tecnología Microsoft® Windows® Installer), se crea una clave de desinstalación de cada aplicación en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. Por ejemplo, cuando se instala Adobe Acrobat Reader 7, se crea una clave con el nombre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall \{AC76BA86-7AD7-1033-7B44-A70000000000}. En consecuencia, si un equipo contiene esta clave, significa que Adobe Acrobat Reader 7 está instalado en el equipo. Para comprobar la existencia de una clave del Registro, puedes usar la función auxiliar DoesObjectExist.

Normalmente, encontrarás esta clave si buscas el nombre de la aplicación, el nombre del archivo ejecutable de la aplicación o el nombre de la empresa fabricante de la aplicación en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. Puedes usar el Editor del Registro (Regedit.exe, que se encuentra en %SystemRoot%) para realizar búsquedas en el Registro.

Buscar el archivo ejecutable de la aplicación en el sistema de archivos

También debes realizar búsquedas en los archivos binarios de la aplicación para hallar el archivo ejecutable que instaló la aplicación. Para ello, primero debes averiguar dónde se instaló la aplicación y cuál es el nombre del archivo ejecutable. La mayoría de las aplicaciones almacena la ubicación de instalación de los archivos binarios de la aplicación en el Registro. Debes buscar el nombre de la aplicación, el nombre del archivo ejecutable de la aplicación o el nombre de la empresa fabricante de la aplicación en el Registro, hasta encontrar el valor del Registro que contenga la ruta de instalación. Después de conocer la ruta de acceso del archivo ejecutable de la aplicación, puedes usar la función auxiliar DoesFileVersionMatch para comprobar que la versión del archivo ejecutable de la aplicación sea la correcta. Para ver un ejemplo sobre cómo llevar esto a cabo, consulta la sección Windows Live(TM) Messenger del archivo MigApp.xml.

Paso 2: Identificar las opciones de configuración que se deben recopilar y averiguar dónde se almacenan en el equipo

A continuación, debes examinar la interfaz de usuario y hacer una lista de todas las opciones de configuración disponibles. Puedes acotar la lista si hay opciones de configuración que no quieras migrar. Para saber dónde se almacena cada opción de configuración, necesitarás cambiar cada una de ellas y supervisar la actividad del Registro y el sistema de archivos. No necesitas migrar los archivos binarios ni las opciones de configuración del Registro que se crean cuando se instala la aplicación. Esto se debe a que debes volver a instalar la aplicación en el equipo de destino. Solamente necesitas migrar las opciones de configuración que sean personalizables.

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

  1. Descarga una herramienta de supervisión de archivos y del Registro, como las herramientas Regmon y Filemon, desde el sitio web de Windows Sysinternals.

  2. Apaga todas las aplicaciones que puedas para limitar la actividad del sistema de archivos y del Registro en el equipo.

  3. Filtra los resultados de las herramientas para que solo se muestren los cambios realizados por la aplicación.

    Nota

    La mayoría de las aplicaciones almacena la configuración en el perfil de usuario; es decir, la configuración almacenada en el sistema de archivos está en el directorio %UserProfile% y la configuración almacenada en el Registro, en el subárbol HKEY_CURRENT_USER. En el caso de estas aplicaciones, puedes filtrar los resultados de las herramientas de supervisión del Registro y de los archivos para mostrar la actividad que ha tenido lugar únicamente en estas ubicaciones. Esto reducirá considerablemente la cantidad de resultados que tengas que examinar.

  4. Inicia las herramientas de supervisión, cambia una configuración y busca escrituras del sistema de archivos y del Registro que se hayan producido cuando cambiaste la configuración. Asegúrate de que los cambios que realices se hagan efectivos. Por ejemplo, si cambias una configuración de Microsoft Word activando una casilla del cuadro de diálogo Opciones, el cambio no suele hacerse efectivo hasta que cierras el cuadro de diálogo haciendo clic en Aceptar.

  5. Cuando la configuración cambie, anota los cambios que se producen en el sistema de archivos y en el Registro. Es probable que haya más de un valor de Registro o archivo para cada configuración. Debes identificar el conjunto mínimo de cambios en el Registro y los archivos necesarios para modificar esta configuración. Es este conjunto de archivos y claves del Registro lo que debe migrarse para poder migrar la configuración.

    Nota

    Cambiar una configuración de aplicación conlleva inexorablemente escribir en claves del Registro. Si es posible, filtra los resultados de la herramienta de supervisión de archivos y del Registro para que se muestren solamente las escrituras en los archivos y las claves o valores del Registro.

Paso 3: Saber cómo aplicar las opciones de configuración recopiladas

Si la versión de la aplicación en el equipo de origen es la misma que la del equipo de destino, no necesitas modificar las claves del Registro y los archivos recopilados. 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 un archivo se recopiló de la carpeta C:\Documents and Settings\User1\Mis documentos y el directorio del perfil en el equipo de destino está en D:\Usuarios\User1, USMT migrará el archivo automáticamente a D:\Usuarios\User1\Mis documentos. Sin embargo, es posible que debas modificar la ubicación de algunas opciones de configuración 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 probable 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 su versión más reciente. Sin embargo, puede que tengas que modificar la ubicación de la configuración si se da alguna de las condiciones siguientes:

  • La versión más reciente de la aplicación puede importar opciones de configuración desde una versión anterior. Normalmente, esta asignación se realiza la primera vez que un usuario ejecuta la versión más reciente después de haber migrado la configuración. Algunas aplicaciones hacen esto de manera automática después de migrar la configuración, mientras que otras solo lo realizan si la aplicación se actualizó desde una versión anterior. Cuando la aplicación se actualiza, se instala un conjunto de archivos o claves del Registro que indica la versión anterior de la aplicación que había instalada antes. Si realizas una instalación limpia de la versión más reciente (que es lo que sucede en la mayoría de las migraciones), el equipo carecerá de este conjunto de archivos y claves del Registro, de modo que la asignación no se efectúa. Para engañar a la versión más reciente de la aplicación y lograr que inicie este proceso de importación, puede que sea necesario que el script de migración cree estos archivos y claves del Registro en el equipo de destino.

    Para saber qué archivos y claves del Registro se deben crear para realizar la importación, debes actualizar la versión anterior de la aplicación con la más reciente y supervisar los cambios realizados el sistema de archivos y en el Registro, usando para ello el mismo proceso descrito en Cómo saber dónde se almacena cada configuración. Cuando sepas qué conjunto de archivos necesita el equipo, puedes 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 desde el equipo de origen ni tampoco importar la configuración en el nuevo formato. En este caso, necesitarás crear una asignación por cada configuración desde las ubicaciones antiguas a las nuevas. Para ello, averigua la ubicación en la que la versión más reciente almacena cada configuración con el proceso descrito en Cómo saber dónde se almacena cada configuración. Después de crear la asignación, aplica la configuración a la nueva ubicación en el equipo de destino mediante el elemento <locationModify> y las funciones auxiliares RelativeMove y ExactMove.

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

Te recomendamos migrar la configuración después de instalar la aplicación, pero antes de que el usuario ejecute dicha aplicación por primera vez. Conviene realizar este procedimiento porque garantiza que no haya ninguna configuración en el equipo de destino al migrar la configuración. Si tienes que instalar la aplicación antes de la migración, deberás eliminar las opciones de configuración existentes usando el elemento <destinationCleanup>. Si, por cualquier motivo, quieres conservar las opciones de configuración del equipo de destino, puedes usar el elemento <merge> y la función auxiliar DestinationPriority.

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

Te recomendamos migrar la configuración después de instalar la aplicación, pero antes de que el usuario ejecute dicha aplicación por primera vez. Conviene realizar este procedimiento porque garantiza que no haya ninguna configuración en el equipo de destino al migrar la configuración. Además, cuando algunas aplicaciones se instalan, sobrescriben la configuración existente en el equipo. En este escenario, si migraste los datos antes de instalar la aplicación, se sobrescribirá la configuración personalizada. Esto suele ocurrir con las aplicaciones que almacenan la configuración en ubicaciones fuera del perfil de usuario (por lo general, se trata de las configuraciones que afectan a todos los usuarios). Estas opciones de configuración universales a veces se sobrescriben cuando se instala una aplicación y se reemplazan por valores predeterminados. Para evitarlo, debes instalar estas aplicaciones antes de migrar los archivos y las configuraciones al equipo de destino. Con USMT, los datos del equipo de origen sobrescriben de forma predeterminada los datos que ya existen en la misma ubicación en el equipo de destino.

Paso 4: Crear el componente XML de migración de la aplicación

Después de completar los pasos 1 a 3, deberás crear un archivo .xml de migración personalizado que migre la aplicación en función de la información que tienes ahora. Puedes usar el archivo MigApp.xml como modelo, ya que contiene ejemplos de muchos de los conceptos que se tratan en este tema. También puedes consultar Ejemplos de XML personalizado para ver otra muestra de archivo .xml.

Nota

Te recomendamos crear un archivo .xml independiente en lugar de agregar el script al archivo MigApp.xml. Esto se debe a que el archivo MigApp.xml es muy grande y difícil de leer y editar. Además, si reinstalas USMT por algún motivo, el archivo MigApp.xml se sobrescribirá con la versión predeterminada del archivo y perderás la versión personalizada.

Importante

Algunas aplicaciones almacenan en el perfil de usuario cierta información que no se debe migrar (por ejemplo, sus rutas de instalación, el nombre del equipo, etc.). Recuerda excluir estos archivos y estas claves del Registro de la migración.

El script debe realizar lo siguiente:

  1. Comprueba que la aplicación está instalada en el equipo y que la versión es la correcta. Para ello:

    • Busca la clave de desinstalación en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall con la función auxiliar DoesObjectExist.

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

  2. Si la versión correcta de la aplicación está instalada, asegúrate de que todas las opciones de configuración se han migrado a la ubicación correcta del equipo de destino.

    • Si las versiones de las aplicaciones están en los equipos de origen y de destino, migra todas las opciones de configuración usando 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 las opciones de configuración, el script debe 1) agregar el conjunto de archivos que desencadena la importación mediante el elemento <addObjects> o 2) crear una asignación que aplique la configuración anterior al equipo de destino mediante el elemento <locationModify> y las funciones auxiliares RelativeMove y ExactMove.

    • Si debes instalar la aplicación antes de migrar la configuración, elimina las opciones de configuración que ya están en el equipo de destino usando el elemento <destinationCleanup>.

Para obtener más información acerca de los elementos .xml y las funciones auxiliares, consulta la Biblioteca de elementos XML.

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

En un equipo de prueba, instala el sistema operativo que se va a instalar en los equipos de destino. Por ejemplo, si vas a migrar de Windows® 7 a Windows 8, instala Windows 8 y la aplicación. A continuación, ejecuta LoadState en el equipo de prueba y confirma que todas las opciones de configuración se migran. Haz las correcciones que procedan y repite el proceso hasta que se hayan migrado correctamente todas las opciones de configuración necesarias.

Para acelerar el proceso de recopilación y migración de datos, puedes optar por migrar un usuario cada vez y excluir todos los demás componentes de la migración, excepto la aplicación que estás sometiendo a prueba. Para especificar solo a User1 en la migración, escribe: /ue:*\* /ui:user1. Para obtener más información, consulta Excluir archivos y configuraciones y las opciones de usuario en el tema sobre Sintaxis de ScanState. Para solucionar un problema, consulta el registro de progreso y los registros de ScanState y LoadState, que contienen advertencias y errores que pueden indicar problemas en la migración.

Consulte también

Otros recursos

Referencia de XML de USMT
Conflictos y prioridad
Biblioteca de elementos XML
Archivos de registro