Exportar (0) Imprimir
Expandir todo

Creación de un archivo XML personalizado

Publicada: junio de 2009

Actualizado: junio de 2010

Se aplica a: Windows 7, Windows Vista

En este tema

Puede crear un archivo .xml personalizado para migrar la configuración de una aplicación de línea de negocio específica o cambiar el comportamiento de migración predeterminado. Para que ScanState y LoadState usen este archivo, el archivo .xml personalizado debe estar especificado en ambas líneas de comando.

Requisitos de archivos XML

Cuando cree archivos .xml personalizados, tenga en cuenta los siguientes requisitos:

  • El archivo debe estar codificado en UTF-8 (Unicode Transformation Format-8). Deberá guardar el archivo con este formato y, asimismo, indicar <?xml version="1.0" encoding="UTF-8"?> al inicio de cada archivo .xml.

  • El archivo debe tener un atributo urlid de migración único. El atributo urlid de cada archivo que especifique en la línea de comandos debe ser distinto. Por lo tanto, si dos archivos .xml poseen el mismo urlid, el que se haya especificado en segundo lugar en la línea de comandos no se procesará. Esto se debe a que USMT usa el urlid para definir los componentes del archivo. Por ejemplo, debe especificar lo siguiente al inicio de todos los archivos.

    <?xml version="1.0" encoding="UTF-8"?>
    <migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/<CustomFileName>">
    
  • Cada componente del archivo debe tener un nombre para mostrar de manera que pueda aparecer en el archivo Config.xml. El motivo es que el archivo Config.xml define los componentes a partir del nombre para mostrar y el urlid de migración. Por ejemplo, especifique <displayName>My Application</displayName>.

Si desea obtener ejemplos de archivos .xml personalizados, vea Ejemplos de XML personalizados.

Procedimientos recomendados

  • En el urlid de migración, <CustomFileName> debe coincidir con el nombre del archivo. Resulta conveniente que <CustomFileName> coincida con el nombre del archivo, si bien esto no es requisito indispensable. Por ejemplo, a continuación se muestra un extracto del archivo MigApp.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/migapp">
    
  • Use el esquema XML (MigXML.xsd) al crear archivos .xml para validar la sintaxis. El archivo de esquema MigXML.xsd no debe estar incluido en la línea de comandos ni en ninguno de los archivos .xml.

  • Use los archivos XML de migración predeterminados como modelos. Para crear un archivo .xml personalizado propio, puede usar los archivos .xml de migración como referencia. En caso de que necesite migrar los archivos de datos de usuario, cree el archivo .xml personalizado en MigUser.xml. Si lo que desea es migrar la configuración de una aplicación, créelo en el archivo MigApp.xml.

  • Tenga en cuenta el impacto que el parámetro <context> tiene en el rendimiento. El elemento <context> afecta al rendimiento de la migración cuando se usa junto con el elemento <component>, que se suele usar para encapsular las unidades lógicas del archivo o la ruta de acceso en función de las reglas <include> y <exclude>.

    En el contexto de User, se procesa una regla por cada usuario del sistema.

    En el contexto de System, se procesa una regla una vez para el sistema.

    En el contexto de UserAndSystem, se procesa una regla por cada usuario del sistema y una vez para el sistema.

    noteNota
    El número de veces que una regla se procesa no afecta en modo alguno al número de veces que un archivo se migra. El motor de migración de USMT garantiza que cada archivo se migra solo una vez.

  • Se recomienda crear un archivo .xml por separado en lugar de agregar el código .xml a uno de los archivos .xml de migración existentes. Por ejemplo, si tiene código con el que se migra la configuración de una aplicación, no se aconseja agregarlo simplemente al archivo MigApp.xml.

  • Si el equipo de destino ejecuta Windows Vista o Windows 7, no debe crear archivos .xml personalizados para alterar la configuración de sistema operativo que está migrando. Este tipo de configuración se migra mediante manifiestos, que no se pueden modificar. En este escenario, si desea excluir algunas de las configuraciones del sistema operativo, deberá crear y modificar un archivo Config.xml.

  • Puede usar el carácter comodín de asterisco (*) en todos los archivos XML de migración que cree.

    noteNota
    El signo de interrogación no es válido como carácter comodín en los archivos .xml de USMT.

Crear un archivo XML para migrar configuraciones de aplicaciones

En el resto del tema se describe el modo de crear un archivo .xml de migración personalizado con el que se migra la configuración de una aplicación que no se ha migrado de forma predeterminada mediante MigApp.xml. La configuración se debe migrar después de instalar la aplicación, pero antes de que el usuario la ejecute por primera vez.

Este tema no trata el modo de migrar aplicaciones que almacenan la configuración en un almacén específico de aplicación, sino únicamente las aplicaciones que almacenan la información en archivos o en el Registro. Asimismo, no contiene información sobre cómo migrar los datos que los usuarios crean mediante la aplicación; es decir, si la aplicación crea archivos .doc con una plantilla específica, este tema no se centra en el modo de migrar los archivos .doc y las plantillas en cuestión.

Antes de comenzar

Es necesario contar con un equipo de prueba que contenga el sistema operativo de los equipos de origen, así como la aplicación cuya configuración desea migrar. Por ejemplo, si planea migrar de Windows® XP a Windows Vista o a Windows 7, instale Windows XP en el equipo de prueba y, a continuación, instale la aplicación.

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

Antes de que USMT migre la configuración, es necesario confirmar que la aplicación está instalada en el equipo y, asimismo, que la versión es la adecuada. En caso de que no esté instalada, seguramente no quiera perder tiempo esperando a que USMT busque la configuración de la aplicación y, más importante aún, si USMT recopila la configuración de una aplicación que no está instalada, es probable que migre una configuración que provoque que el equipo de destino no funcione correctamente. De igual modo, conviene investigar si existe más de una versión de la aplicación, ya que es posible que la nueva versión no almacene la configuración en el mismo sitio, lo cual puede hacer que se obtengan resultados inesperados en el equipo de destino.

Existen muchas formas de saber si una aplicación está 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 mediante el que se instaló la aplicación. Es importante buscar estos dos elementos, dado que hay veces que distintas versiones de la misma aplicación comparten la misma clave de desinstalación. Por lo tanto, aun cuando identifique la clave, puede que ésta no se corresponda con la versión de la aplicación que desea.

Busque la clave de desinstalación de la aplicación en el Registro.

Cuando se instalan, muchas aplicaciones (especialmente aquéllas que usan la tecnología Microsoft® Windows® Installer) crean una clave de desinstalación de la aplicación en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. Por ejemplo, si se instala Adobe Acrobat Reader 7, se genera una clave denominada HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall \{AC76BA86-7AD7-1033-7B44-A70000000000}. Por lo tanto, si un equipo contiene dicha clave, quiere decir que Adobe Acrobat Reader 7 está instalado en el equipo. Para comprobar si una clave del Registro existe, puede usar la función auxiliar DoesObjectExist.

Normalmente, puede encontrar esta clave si busca el nombre de la aplicación, el nombre del archivo ejecutable o el nombre de la compañía propietaria de la aplicación en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. Para realizar búsquedas en el Registro, puede usar el Editor del Registro (Regedit.exe, ubicado en %SystemRoot%).

Busque el archivo ejecutable de la aplicación en el sistema de archivos.

También debe comprobar los archivos binarios de la aplicación para hallar el archivo ejecutable con el que se instaló la aplicación. Para ello, antes es preciso determinar 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. Así, se recomienda buscar en el Registro el nombre de la aplicación, el nombre del archivo ejecutable o el nombre de la compañía propietaria de la aplicación hasta dar con el valor del Registro que contiene la ruta de acceso de instalación. Cuando haya determinado la ruta de acceso al archivo ejecutable de la aplicación, puede usar la función auxiliar DoesFileVersionMatch para comprobar que la versión del archivo ejecutable de la aplicación es correcta. Puede ver un ejemplo de cómo llevar esto a cabo en la sección Windows Live™Messenger del archivo MigApp.xml.

Paso 2: Identificar las configuraciones que se van a recopilar y determinar dónde se van a almacenar en el equipo.

A continuación, es necesario escudriñar la interfaz de usuario y confeccionar una lista con todas las configuraciones disponibles. Esta lista se puede reducir si existen configuraciones que no desea migrar. Para determinar dónde se encuentra cada una de las configuraciones, será necesario cambiar una de ellas y supervisar la actividad del Registro y del sistema de archivos. No es preciso migrar la configuración del Registro y los archivos binarios que se crearon al instalar la aplicación, puesto que deberá volver a instalar la aplicación en el equipo de destino. Solo debe migrar aquellas configuraciones que se puedan personalizar.

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

  1. Descargue una herramienta de supervisión de archivos y del Registro, como las herramientas Regmon y Filemon, del sitio web de Sysinternals (http://go.microsoft.com/fwlink/?linkid=36109).

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

  3. Filtre los resultados obtenidos con las herramientas de forma que solo se muestren los cambios realizados por la aplicación.

    noteNota
    Un gran número de aplicaciones almacena sus configuraciones en el perfil de usuario; es decir, las configuraciones almacenadas en el sistema de archivos se encuentran en el directorio %UserProfile%, mientras que las almacenadas en el Registro lo hacen en el subárbol HKEY_CURRENT_USER. En el caso de estas aplicaciones, puede filtrar el resultado de las herramientas de supervisión de archivos y del Registro para que se muestre la actividad que tiene lugar únicamente en tales ubicaciones. De esta manera, se reduce notablemente la cantidad de resultados que deberá revisar.

  4. Inicie las herramientas de supervisión, cambie una configuración y busque los elementos que se escriben en el sistema de archivos y en el Registro al cambiarla. Asegúrese de que los cambios realizados surten efecto realmente. Por ejemplo, si cambia una configuración en Microsoft Word activando una casilla del cuadro de diálogo Opciones, por lo general el cambio no se aplicará hasta que cierre el cuadro de diálogo haciendo clic en Aceptar.

  5. Cuando la configuración se modifique, observe los cambios que se producen en el sistema de archivos y en el Registro. Puede que haya más de un valor del Registro o de archivo por cada configuración. Debe identificar el conjunto mínimo de cambios de Registro y archivo necesarios para cambiar esa configuración. Es precisamente este conjunto de archivos y claves del Registro lo que deberá migrar para migrar la configuración.

    noteNota
    Siempre que se altera la configuración de una aplicación, se escribe información en las claves de Registro. Si es posible, filtre la herramienta de supervisión de archivos y del Registro para que se muestren únicamente las escrituras realizadas en archivos y valores/claves del Registro.

Paso 3: Determinar el modo de aplicar las configuraciones recopiladas.

En caso de que la versión de la aplicación en el equipo de origen sea la misma que la del de destino, no será necesario modificar los archivos y claves del Registro recopilados. De forma predeterminada, USMT migra los archivos y las claves del Registro de la ubicación de origen a la ubicación pertinente en el equipo de destino. Por ejemplo, si un archivo se recopiló de la carpeta C:\Documents and Settings\Usuario1\Mis documentos y el directorio del perfil en el equipo de destino se encuentra en D:\Usuarios\Usuario1, USMT migrará automáticamente el archivo a D:\Usuarios\Usuario1\Mis documentos. Sin embargo, es probable que deba 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 esta situación, puede que la versión más reciente de la aplicación lea la configuración del equipo de origen sin modificación alguna; dicho de otra forma, a veces los datos recopilados de una versión de la aplicación anterior son compatibles con la versión de la aplicación más reciente. Sin embargo, es probable que deba modificar la ubicación de la configuración si se cumple cualquiera de las siguientes condiciones:

  • La versión más reciente de la aplicación tiene la capacidad de importar configuraciones desde una versión anterior. Esta asignación suele ocurrir la primera vez que un usuario ejecuta la versión más reciente tras haber migrado la configuración. Algunas aplicaciones realizan esto automáticamente después de que la configuración se haya migrado, pero existen otras que solo lo llevarán a cabo si la aplicación de la versión anterior se ha actualizado. Esto se debe a que, 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 estaba instalada. Si efectúa 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 no contendrá este conjunto de archivos y claves del Registro, de modo que la asignación no tendrá lugar. Para "engañar" a la versión de la aplicación más reciente de forma que inicie este proceso de importación, el script de migración debe crear estos archivos y claves del Registro en el equipo de destino.

    Para determinar qué archivos y valores/claves del Registro se deben crear a fin de que la importación tenga lugar, deberá actualizar la versión de la aplicación anterior a la más reciente y supervisar los cambios aplicados en el sistema de archivos y el Registro por medio del mismo proceso descrito en Cómo determinar dónde se almacena cada configuración. Cuando haya identificado el conjunto de archivos que el equipo necesita, puede usar el elemento <addObjects> para agregarlo al equipo de destino.

  • La versión de la aplicación más reciente no puede leer la configuración del equipo de origen y tampoco puede importarla al nuevo formato. En este caso, necesitará crear una asignación por cada configuración desde las ubicaciones antiguas a las nuevas. Para ello, averigüe 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 a través del elemento <locationModify> y las funciones auxiliares RelativeMove y ExactMove.

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

Se recomienda migrar la configuración después de instalar la aplicación y antes de que el usuario la ejecute por primera vez, ya que así se garantiza que no existe ninguna otra configuración al migrar la configuración. Si es necesario instalar la aplicación antes de proceder a la migración, deberá eliminar cualquier configuración existente por medio del elemento <destinationCleanup>. Si, por cualquier motivo, desea conservar la configuración que hay en el equipo de destino, puede usar el elemento <merge> y la función auxiliar DestinationPriority.

Caso 3: Al instalarse, la aplicación sobrescribe la configuración.

Se recomienda migrar la configuración después de instalar la aplicación y antes de que el usuario la ejecute por primera vez, ya que así se garantiza que no existe ninguna otra configuración al migrar la configuración. Además, cuando algunas aplicaciones se instalan, sobrescriben cualquier configuración que exista en el equipo. En tal caso, si ha migrado los datos antes de instalar la aplicación, la configuración personalizada se sobrescribirá. Esto suele suceder en aplicaciones que almacenan la configuración en ubicaciones fuera del perfil de usuario (normalmente se trata de configuraciones que se aplican a todos los usuarios). Hay ocasiones en las que esta configuración universal se sobrescribe cuando una aplicación se instala y se reemplaza por valores predeterminados. Para evitarlo, deberá instalar dichas aplicaciones antes de migrar los archivos y la configuración al equipo de destino. Con USMT, los datos procedentes del equipo de origen sobrescriben de forma predeterminada los datos ya existentes en la misma ubicación del equipo de destino.

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

Una vez que se han completado los pasos 1-3, será necesario crear un archivo .xml de migración personalizado con el que se migre la aplicación en función de la información de que dispone actualmente. El archivo MigApp.xml se usa como modelo porque contiene ejemplos de muchos de los conceptos tratados en este tema. También puede ver el tema Ejemplos de XML personalizados para obtener otro archivo .xml de ejemplo.

noteNota
Se recomienda crear un archivo .xml independiente en lugar de agregar el script al archivo MigApp.xml, ya que este archivo es muy voluminoso y dificultará las tareas de lectura y edición. Además, si vuelve a instalar USMT por cualquier motivo, el archivo MigApp.xml se sobrescribirá con la versión predeterminada del archivo y perderá la versión personalizada que posee.

ImportantImportante
Algunas aplicaciones almacenan en el perfil de usuario información que no debería migrarse (por ejemplo, las rutas de instalación de las aplicaciones, el nombre del equipo, etc.). Asegúrese de no incluir estos archivos y claves del Registro en la migración.

El script debe hacer lo siguiente:

  1. Comprobar que la aplicación y la versión adecuada están instaladas, para lo cual:

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

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

  2. Si está instalada la versión correcta de la aplicación, asegúrese de que cada configuración se migra a la ubicación pertinente en el equipo de destino.

    • Si las versiones de las aplicaciones son las mismas tanto en el equipo de origen como en el de destino, migre cada configuración por medio de 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 deberá 1) agregar el conjunto de archivos que desencadena la importación mediante <addObjects> o 2) crear una asignación que aplique la antigua configuración a la ubicación apropiada en el equipo de destino con el elemento <locationModify> y las funciones auxiliares RelativeMove y ExactMove.

    • Si debe instalar la aplicación antes de proceder a la migración de la configuración, elimine cualquier configuración que ya exista en el equipo de destino por medio del elemento <destinationCleanup>.

Para obtener más información sobre los elementos .xml y las funciones auxiliares, vea XML Elements Library.

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 va a instalar en los equipos de destino. Por ejemplo, si planea migrar de Windows XP a Windows 7, instale Windows 7 y la aplicación. A continuación, ejecute LoadState en el equipo de prueba y confirme que la configuración se ha migrado completamente. Lleve a cabo las correcciones oportunas y repita el proceso hasta que toda la configuración se haya migrado correctamente.

A fin de dedicar menos tiempo a la tarea de recopilación y migración de los datos, puede migrar solo un usuario cada vez y excluir el resto de componentes de la migración, excepto la aplicación que esté comprobando. Para especificar solo Usuario1 en la migración, escriba lo siguiente: /ue:*\* /ui:usuario1. Para obtener más información, vea Exclusión de archivos y configuraciones y la sección sobre opciones de usuario del tema Sintaxis de ScanState. Para solucionar un problema, revise el registro de progreso y los registros de ScanState y LoadState, que contienen advertencias y errores que pueden indicar problemas de migración.

Consulte también

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft