Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Um arquivo de.xml personalizado pode ser criado para migrar configurações específicas de aplicativos de linha de negócios ou para alterar o comportamento de migração padrão da USMT (User State Migration Tool). Para ScanState e LoadState usarem esse arquivo, o arquivo de.xml personalizado deve ser especificado em ambas as linhas de comando.
Este artigo define como criar um arquivo de.xml de migração personalizado que migra as configurações de um aplicativo que não é migrado por padrão usando MigApp.xml. As configurações devem ser migradas após a instalação do aplicativo, mas antes que o usuário execute o aplicativo pela primeira vez.
Este artigo não contém informações sobre como migrar aplicativos que armazenam configurações em um armazenamento específico do aplicativo, apenas os aplicativos que armazenam as informações em arquivos ou no Registro. Ele também não contém informações sobre como migrar os dados que os usuários criam usando o aplicativo. Por exemplo, se o aplicativo criar arquivos.doc usando um modelo específico, este artigo não discutirá como migrar os .doc arquivos e modelos em si.
Antes de começar
Um computador de teste que contenha o sistema operacional dos computadores de origem deve ser identificado. O computador de teste também deve ter os aplicativos cujas configurações precisam ser migradas. Por exemplo, se estiver migrando do Windows 10 para o Windows 11, instale o Windows 10 no computador de teste e instale os aplicativos.
Etapa 1: Verifique se o aplicativo está instalado no computador de origem e se é a mesma versão a ser instalada no computador de destino
Antes que a USMT migre as configurações, marcar se o aplicativo está instalado no computador de origem e se é a versão correta. Se o aplicativo não estiver instalado no computador de origem, a USMT ainda gastará tempo pesquisando as configurações do aplicativo. Mais importante, se a USMT coletar configurações para um aplicativo que não está instalado, ela poderá migrar configurações que fazem com que o computador de destino funcione incorretamente. Determine também se há mais de uma versão do aplicativo, pois a nova versão pode armazenar as configurações em um local diferente. Versões de aplicativos incompatíveis podem levar a resultados inesperados no computador de destino.
Há muitas maneiras de detectar se um aplicativo está instalado. A prática recomendada é marcar se há uma chave de desinstalação do aplicativo no Registro. Em seguida, é possível procurar no computador o arquivo executável que instalou o aplicativo. É importante marcar se há esses dois itens, pois às vezes versões diferentes do mesmo aplicativo compartilham a mesma chave de desinstalação. Mesmo que a chave esteja lá, ela pode corresponder a uma versão diferente do aplicativo desejado.
Verificar o registro em busca de uma chave de desinstalação do aplicativo
Quando muitos aplicativos são instalados, especialmente aqueles instalados usando a tecnologia Microsoft Windows Installer, uma chave de desinstalação de aplicativo é criada em:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Por exemplo, quando o Adobe Acrobat Reader 7 é instalado, ele cria uma chave chamada:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall \{AC76BA86-7AD7-1033-7B44-A70000000000}
Portanto, se um computador contiver essa chave, o Adobe Acrobat Reader 7 será instalado no computador. A existência de uma chave do Registro pode ser verificada usando a DoesObjectExist função auxiliar.
A chave do Registro de desinstalação de um aplicativo específico pode ser encontrada na seguinte chave do Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Para localizar a chave de desinstalação de um aplicativo específico, procure um dos seguintes itens na chave do Registro de desinstalação :
- Nome do aplicativo.
- Nome do arquivo executável do aplicativo.
- Nome da empresa que faz o aplicativo.
Para pesquisar o Registro, use o Editor Regedit.exedo Registro.
Regedit.exe está localizado no caminho armazenado em %SystemRoot%, normalmente C:\Windows.
Verifique o sistema de arquivos para o arquivo executável do aplicativo
Os binários do aplicativo para o executável que instalou o aplicativo também devem ser verificados. Para marcar se há binários de aplicativos, determine onde o aplicativo está instalado e qual é o nome do executável. A maioria dos aplicativos armazena o local de instalação dos binários do aplicativo no Registro. O Registro deve ser pesquisado em um dos seguintes itens até que o valor do Registro que contém o caminho de instalação seja encontrado:
- O nome do aplicativo.
- O nome do executável do aplicativo.
- O nome da empresa que faz o aplicativo.
Depois que o caminho para o executável do aplicativo for determinado, a DoesFileVersionMatch função auxiliar poderá ser usada para marcar a versão correta do executável do aplicativo. Para obter um exemplo de como usar a DoesFileVersionMatch função auxiliar, consulte a seção Windows Live™ Messenger do MigApp.xml arquivo.
Etapa 2: Identificar as configurações a serem coletadas e determinar onde cada configuração está armazenada no computador
Em seguida, acesse a interface do usuário e faça uma lista de todas as configurações disponíveis. A lista poderá ser reduzida se houver configurações que não precisem ser migradas. Para determinar onde cada configuração é armazenada, altere-a. Conforme a configuração é alterada, monitore a atividade no Registro e no sistema de arquivos por meio de uma ferramenta como o Monitor de Processo. Os arquivos binários e as configurações do Registro criados quando o aplicativo é instalado não precisam ser migrados. Quando o aplicativo é reinstalado no computador de destino, ele recria essas configurações. Somente as configurações personalizadas precisam ser migradas.
Como determinar onde cada configuração é armazenada
Baixe uma ferramenta de monitoramento de arquivo e registro, como o Process Monitor (Procmon), do site do Sysinternals.
Encerre o maior número possível de aplicativos para limitar a atividade do Registro e do sistema de arquivos no computador.
Filtre a saída das ferramentas para que exiba apenas as alterações feitas pelo aplicativo.
Observação
A maioria dos aplicativos armazena suas configurações no perfil do usuário. Ou seja, as configurações armazenadas no sistema de arquivos estão no
%UserProfile%diretório e as configurações armazenadas no Registro estão noHKEY_CURRENT_USERhive. Para esses aplicativos, a saída das ferramentas de monitoramento de arquivo e registro pode ser filtrada para mostrar a atividade somente nesses locais. Essa filtragem reduz consideravelmente a quantidade de saída que precisa ser examinada.Inicie as ferramentas de monitoramento, altere uma configuração e procure gravações do registro e do sistema de arquivos que ocorreram quando a configuração foi alterada. Certifique-se de que as alterações feitas realmente entrem em vigor. Por exemplo, ao alterar uma configuração no Microsoft Word marcando uma caixa de marca na caixa de diálogo Opções, a alteração normalmente não terá efeito até que a caixa de diálogo seja fechada selecionando OK.
Quando a configuração for alterada, observe as alterações no sistema de arquivos e no Registro. Pode haver mais de um arquivo ou valores de registro para cada configuração. O conjunto mínimo de alterações de arquivo e registro necessárias para alterar essa configuração deve ser identificado. Esse conjunto de arquivos e chaves do Registro é o que precisa ser migrado para migrar a configuração.
Observação
Alterar uma configuração de aplicativo invariavelmente leva à gravação em chaves do Registro. Se possível, filtre a saída da ferramenta de monitoramento de arquivo e registro para exibir apenas gravações em arquivos e chaves/valores do registro.
Etapa 3: identificar como aplicar as configurações coletadas
Se a versão do aplicativo no computador de origem for a mesma do computador de destino, os arquivos coletados e as chaves do Registro não precisarão ser modificados. Por padrão, a USMT migra os arquivos e as chaves do Registro do local de origem para o local correspondente no computador de destino. Por exemplo, se um arquivo foi coletado da C:\Users\User1\Documents pasta e o diretório de perfil no computador de destino está localizado em D:\Users\User1, a USMT migra automaticamente o arquivo para D:\Users\User1\Documents. No entanto, a localização de algumas configurações pode precisar ser modificada nos três casos a seguir:
Caso 1: a versão do aplicativo no computador de destino é mais recente do que a do computador de origem
Nesse caso, a versão mais recente do aplicativo pode ser capaz de ler as configurações do computador de origem sem modificação. Ou seja, os dados coletados de uma versão mais antiga do aplicativo às vezes são compatíveis com a versão mais recente do aplicativo. No entanto, talvez seja necessário modificar o local da configuração se uma das seguintes condições for verdadeira:
A versão mais recente do aplicativo tem a capacidade de importar configurações de uma versão mais antiga. Esse mapeamento geralmente ocorre na primeira vez que um usuário executa a versão mais recente após a migração das configurações. Alguns aplicativos importam configurações automaticamente após a migração das configurações. No entanto, outros aplicativos só importam configurações se o aplicativo foi atualizado da versão mais antiga. Quando o aplicativo é atualizado, é instalado um conjunto de arquivos e/ou chaves do Registro, o que indica que a versão mais antiga do aplicativo foi instalada anteriormente. Se uma instalação limpa da versão mais recente for realizada, o computador não conterá esses arquivos e chaves do Registro. Se os arquivos e as chaves do Registro não estiverem presentes, o mapeamento não ocorrerá. Para induzir a versão mais recente do aplicativo a iniciar esse processo de importação, talvez seja necessário que o script de migração crie esses arquivos e/ou chaves do Registro no computador de destino.
Para identificar quais arquivos e/ou chaves/valores do Registro precisam ser criados para que a importação funcione:
- Atualize a versão mais antiga do aplicativo para a mais recente.
- Monitore as alterações feitas no sistema de arquivos e no Registro usando o mesmo processo descrito em Como determinar onde cada configuração é armazenada.
Uma vez conhecido o conjunto de arquivos de que o computador precisa, o <elemento addObjects> pode ser usado para adicioná-los ao computador de destino.
A versão mais recente do aplicativo não pode ler as configurações do computador de origem e também não pode importar as configurações para o novo formato. Nesse caso, crie um mapeamento para cada configuração dos locais antigos para os novos. Para criar o mapeamento, determine onde a versão mais recente armazena cada configuração usando o processo descrito em Como determinar onde cada configuração é armazenada. Depois de criar o mapeamento, aplique as configurações ao novo local no computador de destino usando o <elemento locationModify> e as
RelativeMovefunções auxiliares eExactMove.
Caso 2: o computador de destino já contém configurações para o aplicativo
A Microsoft recomenda migrar as configurações após a instalação do aplicativo, mas antes que o usuário execute o aplicativo pela primeira vez. A Microsoft recomenda esse processo porque ele garante que não haja configurações no computador de destino quando as configurações forem migradas. Se o aplicativo precisar ser instalado antes da migração, todas as configurações existentes deverão ser excluídas usando o <elemento destinationCleanup> . Se, por algum motivo, as configurações que estão no computador de destino precisarem ser preservadas, o elemento de mesclagem> e a< função auxiliar poderão ser usados.DestinationPriority
Caso 3: o aplicativo substitui as configurações quando instalado
A Microsoft recomenda migrar as configurações após a instalação do aplicativo, mas antes que o usuário execute o aplicativo pela primeira vez. A Microsoft recomenda esse processo porque ele garante que não haja configurações no computador de destino quando as configurações forem migradas. Além disso, quando alguns aplicativos são instalados, eles substituem as configurações existentes no computador. Nesse cenário, se os dados foram migrados antes da instalação do aplicativo, as configurações personalizadas seriam substituídas. Esse cenário é comum para aplicativos que armazenam configurações em locais que estão fora do perfil do usuário (normalmente, essas configurações são configurações que se aplicam a todos os usuários). Às vezes, essas configurações universais são substituídas quando um aplicativo é instalado e são substituídas por valores padrão. Para evitar esse problema, esses aplicativos devem ser instalados antes da migração dos arquivos e das configurações para o computador de destino. Por padrão na USMT, os dados do computador de origem substituem os dados que já existem no mesmo local no computador de destino.
Etapa 4: Criar o componente XML de migração para o aplicativo
Depois de concluir as etapas 1 a 3, crie um arquivo de.xml de migração personalizado que migre o aplicativo com base nas informações atualizadas. O MigApp.xml arquivo pode ser usado como um modelo porque contém exemplos de muitos dos conceitos discutidos neste artigo. Consulte também Exemplos de XML personalizados para outro arquivo de.xml de exemplo.
Observação
A Microsoft recomenda criar um arquivo de.xml separado em vez de adicionar um script ao MigApp.xml arquivo. Um arquivo .xml separado é recomendado porque o MigApp.xml arquivo é grande e é difícil de ler e editar. Além disso, se a USMT for reinstalada, o MigApp.xml arquivo será substituído pela versão padrão do arquivo e a versão personalizada será perdida.
Importante
Alguns aplicativos armazenam informações no perfil do usuário, como caminhos de instalação do aplicativo, nome do computador etc. As informações do aplicativo armazenadas no perfil do usuário não devem ser migradas e devem ser excluídas da migração.
O script deve realizar as seguintes ações:
Verifique se a versão correta do aplicativo está instalada:
Pesquise a chave de desinstalação da instalação em usando
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallaDoesObjectExistfunção auxiliar.Verifique a versão correta do arquivo executável do aplicativo usando a
DoesFileVersionMatchfunção auxiliar.
Se a versão correta do aplicativo estiver instalada, certifique-se de que cada configuração seja migrada para o local apropriado no computador de destino.
Se as versões dos aplicativos forem as mesmas nos computadores de origem e de destino, migre cada configuração usando os <elementos incluir> e <excluir> .
Se a versão do aplicativo no computador de destino for mais recente do que a do computador de origem e o aplicativo não puder importar as configurações, o script deverá:
- Adicione o conjunto de arquivos que disparam a importação usando o <elemento addObjects> .
- Crie um mapeamento que aplique as configurações antigas ao local correto no computador de destino usando o <elemento locationModify> e as
RelativeMovefunções auxiliares eExactMove.
Se o aplicativo precisar ser instalado antes de migrar as configurações, exclua todas as configurações que já estiverem no computador de destino usando o <elemento destinationCleanup> .
Para obter informações sobre os elementos .xml e funções auxiliares, consulte Biblioteca de elementos XML.
Etapa 5: testar a migração de configurações do aplicativo
Em um computador de teste, instale o sistema operacional que será instalado nos computadores de destino. Por exemplo, se estiver planejando migrar do Windows 10 para o Windows 11, instale o Windows 11 e instale o aplicativo no Windows 11. Em seguida, execute LoadState no computador de teste e verifique se todas as configurações foram migradas. Faça correções, se necessário, e repita o processo até que todas as configurações necessárias sejam migradas corretamente.
Para acelerar o tempo necessário para coletar e migrar os dados, apenas um usuário pode ser migrado por vez. Todos os outros componentes podem ser excluídos da migração, exceto o aplicativo que está sendo testado. Para especificar apenas o Usuário1 na migração, insira:
/ue:*\* /ui:user1
Para obter mais informações, consulte o artigo Excluir arquivos e configurações e a seção Opções do usuário no artigo Sintaxe ScanState . Para solucionar um problema, Marque o log de progresso, o log ScanState e o log LoadState. Os logs contêm avisos e erros que podem apontar para problemas com a migração.