Перенос параметров приложений

Назначение: Windows 7, Windows 8, Windows 8.1, Windows Vista

Для переноса параметров специальных бизнес-приложений или изменения порядка переноса по умолчанию для Средство миграции пользовательской среды 5.0 можно создать пользовательский XML-файл. Для его использования в программах ScanState и LoadState укажите этот XML-файл в командной строке запуска обеих программ.

В этом разделе определяется способ создания пользовательского XML-файла миграции для переноса параметров приложения, которые не переносятся по умолчанию при использовании файла MigApp.xml. Вам необходимо перенести параметры после установки приложения, но до первого запуска приложения пользователем.

В этом разделе нет информации о способах переноса приложений, параметры которых сохраняются в собственном хранилище приложения. Обсуждаются только приложения, сохраняющие данные в файлах или в реестре. В раздел также не включена информация о способах переноса данных, которые пользователи создают с помощью приложения. Например, если в приложении создаются DOC-файлы с помощью конкретного шаблона, в разделе не обсуждается способ переноса DOC-файлов и шаблонов.

В этом разделе

  • Приступая к работе

  • Шаг 1. Убедитесь, что приложение установлено на исходном компьютере и его версия совпадает с версией, которая будет установлена на конечном компьютере..

  • Шаг 2. Определите параметры, которые следует собрать, и место сохранения каждого параметра на компьютере..

  • Шаг 3. Определите способ применения собранных параметров..

  • Шаг 4. Создайте XML-компонент миграции для приложения.

  • Шаг 5. Протестируйте перенос параметров приложения.

Приступая к работе

Необходимо определить тестовый компьютер, содержащий операционную систему исходных компьютеров, и приложение, параметры которого требуется перенести. Например, если планируется миграция с Windows Vista(R) на Windows(R) 8, установите Windows Vista на тестовом компьютере, а затем установите приложение.

Шаг 1. Убедитесь, что приложение установлено на исходном компьютере и его версия совпадает с версией, которая будет установлена на конечном компьютере.

Прежде чем Средство миграции пользовательской среды выполнит перенос параметров, необходимо проверить, что приложение установлено на исходном компьютере и имеет правильную версию. Если приложение не установлено на исходном компьютере, то не стоит тратить время, которое потребуется Средство миграции пользовательской среды на поиск параметров приложения. Что более важно, если Средство миграции пользовательской среды собирает параметры приложения, которое не установлено, то могут быть перенесены параметры, которые приведут к неправильной работе конечного компьютера. Также следует проверить, имеется ли несколько версий приложения. Это необходимо, поскольку параметры новой версии могут сохраняться в другом месте, что может привести к непредсказуемым результатам на конечном компьютере.

Есть разные способы проверить, установлено ли приложение. Рекомендуется проверить ключ удаления приложения в реестре, а затем найти на компьютере исполняемый файл, с помощью которого было установлено приложение. Важно проверить оба элемента, поскольку иногда разные версии одного приложения совместно используют один и тот же ключ удаления в реестре. Поэтому даже если ключ есть, он может не соответствовать нужной версии приложения.

Найдите ключ удаления приложения в реестре.

Когда установлено много приложений (обычно с помощью технологии установщика Microsoft(R) Windows(R)), ключ удаления приложения создается в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. Например, при установке Adobe Acrobat Reader 7 создается ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-7AD7-1033-7B44-A70000000000}. Таким образом, если в реестре имеется этот ключ, на компьютере установлено приложение Adobe Acrobat Reader 7. Наличие раздела реестра можно проверить с помощью вспомогательной функции DoesObjectExist.

Обычно такой ключ можно найти, выполнив в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall поиск по имени приложения, имени исполняемого файла приложения или имени компании, создавшей приложение. Для поиска в реестре можно использовать редактор реестра (Regedit.exe в папке %SystemRoot%).

Проверьте наличие исполняемого файла приложения в файловой системе.

Следует также проверить двоичные файлы приложения на наличие исполняемого файла, который установил приложение. Для этого сначала надо определить место установки приложения и имя исполняемого файла. Для большинства приложений расположение установки двоичных файлов приложения сохраняется в реестре. В реестре следует выполнять поиск по имени приложения, имени исполняемого файла приложения или названию компании, создавшей приложение, пока не будет найден параметр реестра, содержащий путь установки. Определив путь к исполняемому файлу приложения, с помощью вспомогательной функции DoesFileVersionMatch можно проверить правильную версию исполняемого файла приложения. Пример выполнения таких действий можно найти в разделе Windows Live(TM) Messenger файла MigApp.xml.

Шаг 2. Определите параметры, которые следует собрать, и место сохранения каждого параметра на компьютере.

Затем следует пройтись по пользовательскому интерфейсу и создать список всех доступных параметров. Этот список можно сократить, если некоторые параметры переносить не нужно. Чтобы определить, где сохраняется каждый параметр, потребуется изменить каждый из параметров и отследить действия, которые выполняются с реестром и файловой системой. Не нужно переносить двоичные файлы и параметры реестра, которые создаются при установке приложения. Это не требуется, так как приложение нужно будет переустановить на конечном компьютере. Необходимо переносить только настраиваемые параметры.

Как определить место сохранения каждого параметра

  1. Загрузите средство мониторинга файлов и реестра, например Regmon и Filemon, с веб-сайта Windows Sysinternals.

  2. Закройте максимально возможное количество приложений, чтобы ограничить активность реестра и файловой системы на компьютере.

  3. Отфильтруйте выходные данные этих средств, чтобы отображались только изменения, вносимые приложением.

    Примечание

    Параметры большинства приложений сохраняются в профиле пользователя. Это означает, что в файловой системе параметры сохраняются в каталоге %UserProfile%, а в реестре – в кусте HKEY_CURRENT_USER. Для таких приложений можно фильтровать выходные данные средств мониторинга файлов и реестра, чтобы отображалась активность только в этих расположениях. Это существенно уменьшит объем выходных данных, которые потребуют проверки.

  4. Запустите средства мониторинга, измените параметр и проверьте записи реестра и файловой системы, которые появились после изменения параметра. Убедитесь, что внесенные изменения вступили в действие. Например, если вы изменяете параметр в Microsoft Word, установив флажок в диалоговом окне Параметры, изменение обычно вступит в силу только после закрытия диалогового окна путем нажатия кнопки ОК.

  5. Когда параметр изменится, отметьте изменения в файловой системе и реестре. Каждому параметру может соответствовать изменение нескольких файлов или значений реестра. Вы должны определить минимальный набор изменений файлов и разделов реестра, необходимых для изменения этого параметра. Этот набор файлов и разделов реестра будет необходимо перенести для переноса параметра.

    Примечание

    Изменение параметра приложения неизбежно приводит к записи в ключи реестра. Если возможно, отфильтруйте выходные данные средства мониторинга файлов и реестра, чтобы отображались только операции записи в файлы и разделы или значения реестра.

Шаг 3. Определите способ применения собранных параметров.

Если версия приложения на исходном компьютере совпадает с версией на конечном компьютере, можно не изменять собранные файлы и разделы реестра. По умолчанию Средство миграции пользовательской среды переносит файлы и разделы реестра из исходного расположения в соответствующее расположение на конечном компьютере. Например, если файл был взят из папки C:\Documents and Settings\User1\My Documents, а каталог профиля на конечном компьютере имеет расположение D:\Users\User1, то Средство миграции пользовательской среды автоматически переносит файл в папку D:\Users\User1\My Documents. Однако в трех случаях может потребоваться изменить расположение некоторых параметров.

Случай 1. Версия приложения на конечном компьютере новее версии на исходном компьютере.

В ряде случаев новая версия приложения способна читать параметры с исходного компьютера без изменений. То есть данные, собранные из старой версии приложения, совместимы с новой версией приложения. Но может потребоваться изменить расположение параметров, если верно любое из следующих условий.

  • Новая версия приложения способна импортировать параметры из старой версии. Такое сопоставление происходит обычно в случае, когда пользователь в первый раз запускает новую версию после переноса параметров. Одни приложения делают это автоматически после переноса параметров, а другие – лишь когда происходит обновление старой версии приложения. Когда приложение обновляется, устанавливается набор файлов и разделов реестра, по которым видно, что ранее была установлена более старая версия. При "чистой" установке новой версии (в большинстве случаев переноса данных) на компьютере отсутствует соответствующий набор файлов и разделов реестра, а значит, сопоставления нет. Чтобы направить новое приложение на инициализацию такого процесса импорта, может потребоваться, чтобы ваш сценарий миграции создавал эти файлы и разделы реестра на конечном компьютере.

    Чтобы определить, какие файлы или разделы и значения реестра требуется создать, чтобы обеспечить импорт, вам нужно обновить старую версию приложения до новой и отследить изменения, внесенные в файловую систему и реестр, с помощью процесса, который описан в разделе Как определить место сохранения каждого параметра. Узнав, какой набор файлов требуется компьютеру, их можно добавить на конечный компьютер с помощью элемента <addObjects>.

  • Новой версии приложения не удается прочитать параметры с исходного компьютера, а также импортировать параметры в новый формат. В этом случае понадобится создать сопоставление старого и нового расположения для каждого параметра. Для этого необходимо с помощью процесса, описанного в разделе Как определить место сохранения каждого параметра, определить место хранения каждого параметра в новой версии приложения. После создания сопоставления необходимо применить параметры к новому расположению на конечном компьютере с помощью элемента <locationModify> и вспомогательных функций RelativeMove и ExactMove.

Случай 2. На конечном компьютере уже присутствуют параметры приложения.

Рекомендуется переносить параметры после установки приложения, но до того, как пользователь впервые запустит его. Это гарантирует, что в момент переноса параметров их нет на конечном компьютере. Если приложение необходимо установить до миграции, следует удалить все существующие параметры с помощью элемента <destinationCleanup>. Если по какой-либо причине нужно сохранить параметры, имеющиеся на конечном компьютере, можно использовать элемент <merge> и вспомогательную функцию DestinationPriority.

Случай 3. При установке приложения параметры перезаписываются.

Рекомендуется переносить параметры после установки приложения, но до того, как пользователь впервые запустит его. Это гарантирует, что в момент переноса параметров их нет на конечном компьютере. Кроме того, при установке некоторых приложений перезаписываются любые параметры, существующие на компьютере. В этом случае, если перенос данных выполняется до установки приложения, пользовательские параметры будут перезаписаны. Это характерно для приложений, параметры которых сохраняются вне профиля пользователя (обычно это параметры, общие для всех пользователей). Такие универсальные параметры иногда перезаписываются при установке приложения и заменяются значениями по умолчанию. Чтобы избежать этого, необходимо устанавливать такие приложения до переноса файлов и параметров на конечный компьютер. По умолчанию Средство миграции пользовательской среды перезапишет данные с исходного компьютера поверх данных в том же расположении на конечном компьютере.

Шаг 4. Создайте XML-компонент миграции для приложения

После выполнения шагов 1–3 для переноса приложения на основании полученных данных необходимо создать собственный XML-файл миграции. В качестве модели можно использовать файл MigApp.xml, поскольку он содержит примеры многих понятий, которые рассматривались в этом разделе. Кроме того, другие примеры XML-файлов можно найти в разделе Примеры пользовательских XML-файлов.

Примечание

Рекомендуется создать отдельный XML-файл, а не добавлять собственный сценарий к файлу MigApp.xml. MigApp.xml – очень большой файл, поэтому его трудно просматривать и изменять. К тому же, если по какой-либо причине переустановить Средство миграции пользовательской среды, файл MigApp.xml будет перезаписан версией по умолчанию и вы потеряете внесенные изменения.

Важно!

Некоторые приложения сохраняют в профиле пользователя данные, которые не нужно переносить (например, пути установки приложений, имя компьютера и т. п.). Такие файлы и разделы реестра необходимо исключить из миграции.

В сценарии должны быть предусмотрены описанные ниже действия.

  1. Проверка установки правильной версии приложения посредством:

    • поиска ключа удаления установки в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall с помощью вспомогательной функции DoesObjectExist;

    • проверки наличия правильной версии исполняемого файла приложения с помощью вспомогательной функции DoesFileVersionMatch.

  2. Если установлена правильная версия приложения, убедитесь, что каждый параметр переносится в правильное расположение на конечном компьютере.

    • Если версии приложений на исходном и конечном компьютерах совпадают, переносите каждый параметр с помощью элементов <include> и <exclude>.

    • Если версия приложения на конечном компьютере новее, чем на исходном компьютере, и приложение не может импортировать параметры, ваш сценарий должен: 1) добавить набор файлов для запуска импорта с помощью элемента <addObjects> либо 2) создать сопоставление для применения старых параметров к правильному расположению на конечном компьютере с помощью элемента <locationModify> и вспомогательных функций RelativeMove и ExactMove.

    • Если требуется установить приложение до переноса параметров, удалите любые параметры, уже имеющиеся на конечном компьютере, с помощью элемента <destinationCleanup>.

Информацию об XML-элементах и вспомогательных функциях см. в разделе Библиотека XML-элементов.

Шаг 5. Протестируйте перенос параметров приложения

На тестовом компьютере установите операционную систему, которая будет установлена на конечных компьютерах. Например, если планируется перенос из Windows(R) 7 в Windows 8, установите Windows 8 и приложение. Затем запустите программу LoadState на тестовом компьютере и проверьте, все ли параметры переносятся. При необходимости вносите изменения и повторяйте процесс, пока не будут правильно перенесены все необходимые параметры.

Чтобы сократить время сбора и переноса данных, можно переносить пользователей по одному. Можно также исключить из переноса все компоненты, кроме тестируемого приложения. Чтобы указать при переносе только пользователя User1, введите: /ue:*\* /ui:user1. Дополнительную информацию см. в документе Исключение файлов и параметров и разделе "Параметры пользователя" документа Синтаксис ScanState. Для устранения возникающих проблем проверьте журнал выполнения и журналы программ ScanState и LoadState, куда записываются предупреждения и ошибки, которые могут указывать на проблемы при миграции.

См. также

Задачи

Файлы журнала

Ссылка

Конфликты и приоритеты

Понятия

Библиотека XML-элементов

Другие ресурсы

Справочные материалы по XML для средства миграции пользовательской среды