WinAppMigrator

Moving from a PC over the Network

If the old PC still starts, you do not have to take anything out of it. WinAppMigrator, on a PC with Windows 10 or 11, can read the old PC over your network, through a small program you run there, WinAppMigrator Client. The old PC can have Windows 7 or later. This page explains how, what the client does and does not do, and what to do if something goes wrong.

Which Way to Use

Your old PC Use
Still starts, has Windows 7 or later, and is on the same network as a PC with Windows 10 or 11 Network PC…, on this page
Will not start, or is not on a network Connected Drive…: take its drive out and connect it. See Moving from a connected drive or a disk image.
Has a drive that may be failing Make a disk image of it first, and pick that with Disk Image…. See Before you start.
Has Windows 10 or 11, and you will build on it This PC, in the app on the old PC. See Building an installer.

Over the network, nothing is unplugged, and no copy of the whole drive is made. Only what the build reads crosses the network: an app's files and settings, never the whole drive. The app runs on the PC you build on, usually the new one, and the installer is written there.

Before You Start

Step 1: Put the Client on the Old PC

In the app, under Scan Source, click Network PC…. Three steps take the place of the list of apps, and the right side says "Pair with the Old PC".

Network PC chosen, with three steps in place of the list of apps: save the client to a USB drive or a folder, pick the old PC, which the app is still looking for, and type the code it shows

Under 1. Put the Client on the Old PC:

The app saves two files there: WinAppMigrator Client.exe, and WinAppMigrator Client - start here.txt, which says what to do on the old PC. A client saved there before is replaced. A green message then says where it went, such as "Saved as E:\WinAppMigrator Client.exe. On the old PC, close the app you are moving, then double-click it and let it make changes. It shows a code."

The client is one small program, the same for Windows 7, 8, 10, and 11, 32-bit or 64-bit. The app carries it, so there is nothing else to download. It is signed, as the app is, with Randy Northrup as its publisher.

Step 2: Run the Client on the Old PC

  1. Close the app you are moving. The client reads a snapshot of the drive, taken when it starts, so closing the app first means its files are as it left them. What changes on the old PC after the client starts is not seen.
  2. Double-click WinAppMigrator Client.exe. Windows asks whether to let it make changes, and names Randy Northrup as its verified publisher. Choose Yes. On a Windows 7 without Microsoft's 2020 root certificate, Windows cannot check a signature of this kind, and says the publisher is unknown instead. See How it keeps the old PC safe.
  3. Wait for the code. It says "Taking a snapshot of the Windows drive...", then shows the PC's name, its Windows, and a six-digit pairing code.

Leave its window open until the build is done.

WinAppMigrator Client in a console window on Windows 7, showing the PC's name, its Windows, the pairing code, and that the new PC paired, read what it needed, and is done

Step 3: Pick the Old PC, and Type the Code

Back in the app:

  1. Under 2. Pick the Old PC, the app looks on your network for PCs running the client, every five seconds, and says "Looking on your network for PCs running the client…" until it finds one. Each is listed with its name, its Windows, and its address, such as "OLD-PC · Windows 7 Professional Service Pack 1 · 192.168.1.20". Pick yours. If only one is found, it is picked for you. If yours is not listed, type its name or address in Or Type Its Name or Address.
  2. Under 3. Type the Code It Shows, type the code into Pairing Code, and click Connect. It is greyed out until a PC is picked or typed in, and the code has six digits. The app says "Pairing…" while it pairs.

Network PC: the client saved to a USB drive, two PCs found on the network with their Windows and addresses, the old one picked, and its pairing code typed in

Once paired, the old PC's apps are listed, as this PC's are. The line under Scan Source names the PC "over the network", with its address and its Windows, such as "OLD-PC over the network (192.168.1.20) · Windows 7 Professional Service Pack 1, 64-bit". For a Windows older than 10, a note under it says what becomes of its apps, as it does for a drive.

Paired with the old PC: the scan source says OLD-PC over the network, Windows 7 Professional Service Pack 1, 64-bit, with Disconnect beside it, a note on what becomes of its apps, and its apps listed

From here, everything works as in Building an installer. The rest is as for a connected drive: the same rules, the same things left behind, and the same choice of whose data goes. An app from Windows 7 is handled as on that page: see Apps from Windows 7, Vista, 8, or 8.1.

Disconnect, where a drive has Change…, ends the link and goes back to the three steps, to pair with that PC again or another. Picking another source ends it too.

What the Client Does, and Does Not Do

The client is a go-between, and nothing more. The app, on the other PC, does all the work of looking at an app and building its installer.

What it does, while it runs:

What it does not do:

What You See on the Old PC

The client's window says what is happening, in its own words:

What it says What it means
"This PC:", "Windows:", and "Pairing Code:" The code to type in the app, and which PC this is
"Paired with" an address, and "It is reading what it needs..." The app has paired, and is looking at an app or building
That address "is done", with how many requests it answered The app closed the link: you clicked Disconnect, picked another source, or closed the app
That address "tried a code that is not this one." A wrong code was tried from that address
"Too many wrong codes. The new pairing code is:" and a code Five wrong codes were tried, so a new code has replaced the old one
"Too many wrong codes were tried, so no PC can pair with this one now." 20 wrong codes were tried. Something on your network may be guessing. Stop the client, start it again, and type the new code it shows.
"The link to" an address "ended:" and a reason The link was lost, or the app asked nothing for 30 minutes. The client keeps running.

Stopping It

When the build is done, press Enter in the client's window, or close the window. Enter says "Stopping: removing the snapshot and the firewall rules...", removes both, and its record, and stops, and the copy it ran from is removed a moment later. Closing the window does the same out of sight: a second client with no window, which it started for this, removes them, and then the copy, as soon as the window is gone. Stop it only when you are done, since the app reads from it while it looks at an app and while it builds.

If the PC shut down or restarted while the client ran, the snapshot, the firewall rules, its record, and its copy stay. The next time the client runs on that PC, it removes them first. To clean up without using it, run it, then press Enter.

Two more things:

How It Keeps the Old PC Safe

The methods it uses, and the detail, are in SECURITY.md. See also Privacy and security.

What It Cannot Do

What Has Been Tested

Only by hand, away from GitHub's machines. The client was run on Windows 7 SP1 virtual machines, 32-bit and 64-bit, and on Windows 11 25H2. Five apps were built over the network from the 64-bit one, each in a few seconds, with the same files and settings as from that machine's disk image. Three of them, LegacyNotes, RetroBlocks, and Notepad++, were installed and run on Windows 11. With Windows' own DLLs planted beside the client, on Windows 7, 32-bit and 64-bit, none were loaded into it, before it copied itself or after, through pairing and a whole build.

Windows 8 and 10 as the old PC have not been tried, and neither has a real network between two separate PCs: the virtual machines were on a network of their own, inside the PC that built. The signed client was run on Windows 7 SP1 virtual machines, 32-bit and 64-bit, with none of its later updates. It worked, and Windows read its signature as untrusted, because they lacked Microsoft's 2020 root certificate. With that root added, the 64-bit one read it as valid. On GitHub's machines, the tests only pair the app with the client's own code on one machine. See Requirements and testing.

If Something Goes Wrong

In the App

What you see What to do
"No USB drive is plugged in." Plug one in and click Look for USB Drives Again, or click Save to a Folder… and pick a folder the old PC can reach.
"the client could not be saved in" a folder, with a reason Pick a folder you can write to, or another drive.
The old PC is not listed under 2. Pick the Old PC Check the client is running there and shows a code, and that both PCs are on the same network. Then type its name or address. Across a router, type its address. A firewall other than Windows' own has to let TCP 47732 and UDP 47731 through.
A name "was not found on the network" Type the old PC's address instead. On the old PC, ipconfig, in a command prompt, shows it as "IPv4 Address".
"the old PC could not be reached:" and a reason Check the client is still running, that the name or address is right, and that no other firewall blocks TCP 47732.
"that is not the code the old PC shows. Check it and try again." Type the code the client shows now. After five wrong codes it makes a new one, and shows it. After 20, it lets nothing pair until you start it again.
The app cannot read the old PC any more, after a long pause The client ends a link the app has asked nothing of for 30 minutes. Click Disconnect, and pair again with the code it shows.

On the Old PC

What you see What to do
Windows asks to let a program from an unknown publisher make changes That is expected only on a Windows 7 without Microsoft's 2020 root certificate, which cannot check the client's signature. There, choose Yes only for a client you saved from the app yourself. Anywhere else, the prompt should name Randy Northrup as the publisher. If it does not, do not run that copy.
Windows asks for an administrator's password The client needs administrator rights. Give an administrator's password, or sign in as one.
"WinAppMigrator Client could not start from a folder only administrators can change:" and a reason The client could not copy itself into %ProgramFiles%\WinAppMigrator Client, or start that copy. The reason after it is Windows' own. Read it, and try again.
"The client stopped: the client is already running on this PC, or is cleaning up after one that was closed. Use that one, or wait a moment and start this again." Find the other client's window, and use it, or press Enter there to stop it. If you have just closed one, wait a few seconds and start it again.
"The client stopped:" with "Windows did not make a snapshot of" the drive, or "Windows Firewall would not let the client listen:" The reason after it is Windows' own. The client has undone what it did. Read the reason, and try again.
"This PC will not show up by itself" The client could not listen for the app looking for it. On the new PC, type this PC's name or address instead, as it says.

For anything else, see Troubleshooting.

Last changed 2026-11-11. Describes WinAppMigrator as of its latest release, 0.6.0.