WinAppMigrator

Moving from a Connected Drive or a Disk Image

If the old PC will not start, you can still build an installer from an app on its drive. Take the drive out, connect it to a working PC, and point the app at it. You can also point it at a disk image of that drive. This page explains how, what the app does and does not touch, and what happens to an app from Windows 7, Vista, 8, or 8.1.

If the old PC still starts, and is on the same network as a PC with Windows 10 or 11, you may not need to take anything out. The app can read it over the network instead, through a small program you run on it. See Moving from a PC over the network.

Before You Start

Pick the Drive

  1. Connect the drive. Note the letter Windows gives it, such as E:.
  2. In the app, under Scan Source, click Connected Drive….
  3. A folder picker opens, titled "Select the Connected Drive's Root (e.g. E:)". Pick the top of the drive, such as E:\, not a folder on it.
  4. The app checks that the drive has a Windows folder and a Users folder, which a drive with Windows on it has. If it does not, it says the drive "does not look like a Windows system drive (no \Windows and \Users). Pick the root of the drive from the other PC."
  5. The list now shows the apps installed on that drive's Windows. The drive shows on a line under the buttons, with which Windows it has, such as "E:\ · Windows 7 Professional Service Pack 1, 32-bit", and Change… to pick another. This PC goes back to the apps on the working PC.

From here, everything works as in Building an installer.

Pick a Disk Image

A disk image is a whole drive saved as one file. The app reads an image of another PC's drive just as it reads a connected drive. It takes a .vhd or .vhdx file, the kinds Windows itself can open. These make one:

To pick one:

  1. In the app, under Scan Source, click Disk Image….
  2. A file picker opens, titled "Select a Disk Image of the Other PC (.vhd or .vhdx)". Pick the image.
  3. The app says "Attaching the image, read-only…" while Windows opens it. It is opened read-only, so nothing writes to it, and with no drive letter, so nothing else on the PC is offered it. The Scan Source buttons are greyed out until it is done.
  4. The app reads the first volume on the image that has a Windows folder and a Users folder.
  5. The list now shows the apps on the image's Windows. The image's file name shows under the buttons, with which Windows it has, and Change… to pick another image.

From here, everything works as for a connected drive, and the rest of this page holds for an image too.

The app lets go of the image, which Windows calls detaching it, when you pick another source or close the app. If the app is stopped part-way, it detaches the image the next time it starts. A restart of Windows detaches it anyway.

What it cannot open:

Whose Data

If you turn on User Data, the app reads one account's data from the drive. It starts at whoever last signed in to that Windows, or the only account that has data for the app. If more than one account has data, Whose Data lets you choose.

What the Installer Says About Where the App Was

Paths on the drive are read as the old PC called them. So if an app was in C:\Program Files\Fabrikam Data Sync on the old PC, and the drive is E: here, the installer still offers C:\Program Files\Fabrikam Data Sync as the install location on the new PC, not E:\....

An app from a 32-bit Windows is the exception. The installer offers C:\Program Files (x86)\Fabrikam Data Sync for it, which is where 64-bit Windows keeps a 32-bit app. See Apps from Windows 7, Vista, 8, or 8.1.

What the App Does Not Touch

The app runs with administrator rights and reads a drive it has no reason to trust, so these rules matter. The full detail is in SECURITY.md.

What Stays Behind

Apps from Windows 7, Vista, 8, or 8.1

The app itself runs only on Windows 10 or 11. The drive or image it reads, or a PC it reads over the network, can have an older Windows. Installers built from it are made for Windows 10 and 11. Windows 7 keeps apps in the same places Windows 11 does, so they are found the same way.

A connected drive with Windows 7 Professional Service Pack 1, 32-bit, and a note that installers built from it are made for Windows 10 and 11, and that its 32-bit apps go to Program Files (x86)

What was different on the older Windows is taken care of like this:

What does not work on Windows 11, whatever the app does:

The full detail is in docs/discovery.md.

What a Build Cannot Check

A build can read what is on a connected drive, but cannot check that the drive is what it says it is. Build only from a drive you have reason to trust, and read what the screen lists before you build.

What Has Been Tested

This path is tested on GitHub's machines with a virtual drive (VHD) built on the test machine and made to look like another PC's, including some made hostile on purpose. A real drive from another PC has not been tested there.

A disk image, and apps from Windows 7, have only been tried by hand, not on GitHub's machines: .vhdx images of Windows 7 virtual machines, 32-bit and 64-bit, read with the code behind Disk Image… and built into installers, three of which were installed on Windows 11 25H2. Vista, 8, and 8.1 have not been tried. See Requirements and testing.

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