Restore: Side-by-Side Migration
The user continues working on the old machine while the new machine is being prepared. Application profiles are synchronized until a defined cutover date, when the user switches to the new machine permanently.
Migration Timeline
| Phase | Old Machine | New Machine |
|---|---|---|
| Preparation | Regular export jobs running (see Split Jobs) | Base image deployed, software installed, domain joined |
| Initial restore | — | Machine import + user import from latest backup |
| Sync period | User works normally. Export jobs continue daily. | Available for testing. No imports during this phase. |
| Final sync | User logs off. Final export runs manually or on demand. | Final import from latest backup (machine + user) |
| Cutover | Machine decommissioned or reassigned | User works exclusively on new machine |
Initial Restore
Follow the same procedure as Restore: Fresh Client Build — machine import first, then user import after first logon.
This gives the user an early preview of the new machine with their settings. Any issues can be identified during the sync period before the final cutover.
Final Sync
On cutover day, the old machine's latest backup is imported one final time to capture any changes the user made since the initial restore.
Step 1 — Trigger a final export on the old machine:
:: Run on the old machine (manually or via remote command)
AppProfileSafe.CLI.exe --export ^
--manifestFile "\\server\backups\OLD-PC042\Machine\Manifest.xml" ^
--apps "Firefox-Machine,Office-Machine" ^
--unc-credential-store --silentMode
AppProfileSafe.CLI.exe --export ^
--manifestFile "\\server\backups\OLD-PC042\jdoe\Manifest.xml" ^
--apps "Firefox-User,Office-User,Chrome-User" ^
--unc-credential-store --silentMode
Step 2 — Import on the new machine:
:: Run by admin on the new machine
:: Phase 1: Machine settings
AppProfileSafe.CLI.exe --import ^
--manifestFile "\\server\backups\OLD-PC042\Machine\Manifest.xml" ^
--apps "Firefox-Machine,Office-Machine" ^
--mappingFile "\\server\mappings\migration.xml" ^
--unc-credential-store --silentMode --ignoreRestorePointLimit
:: Phase 2: User settings — user should close all applications first
AppProfileSafe.CLI.exe --import ^
--manifestFile "\\server\backups\OLD-PC042\jdoe\Manifest.xml" ^
--apps "Firefox-User,Office-User,Chrome-User" ^
--mappingFile "\\server\mappings\migration.xml" ^
--unc-credential-store --silentMode --ignoreRestorePointLimit
Important: For the final user import, ask the user to close all affected applications first. Unlike the initial restore (where apps haven't run yet), the final sync overwrites files that may be locked by running applications.
Mapping File
During side-by-side migration, the old and new machines typically have different hostnames and potentially different usernames. Create a mapping file that translates:
| From (old machine) | To (new machine) |
|---|---|
C:\Users\OldUser | C:\Users\NewUser |
HKCU\...\OldUser | HKCU\...\NewUser |
D:\Apps | C:\Apps |
If usernames and drive letters are identical, no mapping file is needed.
Handling Conflicts During Sync Period
If the user works on both machines during the sync period, application settings may diverge. The final import always overwrites the target — there is no merge. Whichever machine has the last export "wins."
Recommendation: During the sync period, the user should primarily work on the old machine. The new machine should be used only for testing and verification. This avoids divergent settings that are lost during the final sync.
See Also
- Restore: Fresh Client Build — The initial restore procedure
- Split Jobs by Permission Scope — Export job setup
- What Is a Mapping File? — Path transformation between machines
- Creating & Editing Mappings (GUI) — Visual mapping editor