WinAppMigrator

Glossary

The technical words used in this wiki, in plain words, in alphabetical order.

Activation and Dongle

Activation is a check an app makes, often online, that it is licensed on this PC. A dongle is a small piece of hardware some apps need plugged in instead. WinAppMigrator never gets around either, and never imitates a dongle.

Administrator Rights

Permission to change the whole PC, not just your own files. Both WinAppMigrator and the installers it builds always run with these rights. Running with them is also called running elevated.

App Paths

A list in the registry that tells Windows where a program is, so it can be started by name, for example from the Run box.

AppData

A hidden folder in each person's profile, C:\Users\You\AppData, where apps keep their settings and data. It has three parts: Roaming, Local, and LocalLow.

Architecture

The kind of processor a program is built for. x64 is the usual 64-bit kind on most PCs, x86 is the older 32-bit kind, and Arm64 is the kind in Arm PCs. See also emulation.

Attestation

A signed record, kept by GitHub, that says a file was built by a particular repository's workflow. gh attestation verify checks it.

Authenticode

Microsoft's way of signing program files. PowerShell's Get-AuthenticodeSignature reads such a signature.

Azure Artifact Signing

Microsoft's signing service in its Azure cloud. The release workflow uses it to sign the app with a certificate tied to the maintainer's verified identity. A certificate profile is the set of certificate details it signs with.

Base64

A way of writing any data as plain letters, digits, and the signs +, /, and =. The last look does not decode it.

BitLocker

Windows' way of encrypting a whole drive. A drive or disk image locked with it cannot be read until it is unlocked.

Cargo

Rust's build tool. cargo build builds the code, and cargo test runs the tests.

Certificate

A digital document that lets Windows trust something, such as a website or a signature. Windows keeps trusted certificates in trust stores. WinAppMigrator names the ones an app relies on, and never installs one.

Certificate Profile

See Azure Artifact Signing.

Certificate Table

The part at the end of a signed program file where its signature is kept. Windows does not count it in what the signature covers, which is why the installer stub is never signed.

Checksum

Another word for a hash used to check a download. A program's headers also have a checksum field, a simpler number worked out from the file.

CI

Continuous integration: tests that run by themselves on every change to the code. Here, they run on GitHub's own machines. See CI jobs.

Clippy

Rust's tool that checks code for common mistakes and style problems.

COM Class

A piece of a program that other programs can ask Windows to start, by an id. For example, a shell extension is a COM class that File Explorer starts. COM stands for Component Object Model.

Connected Drive

A drive taken out of another PC and connected to this one, for example with a USB adapter. A disk image of one can be read the same way. See Moving from a connected drive or a disk image.

Crate

A Rust package: a library or a program. This project has six.

crates.io

The public site Rust packages are downloaded from.

Credential

Something that proves who you are, such as a password, a token, or a private key. What looks like one, by its name or a few shapes of text, is never put in an installer. One kept under a name that does not say so, or inside an app's own files, is not recognised.

CVE

A public id for a known security weakness, such as CVE-2013-3900.

Data File

The second file of an installer for a very big app, ending in .wamdata. It holds the app's package, and must stay beside the installer's .exe. See Big apps.

Default Apps

The part of Windows Settings where you choose which app opens each kind of file or link.

Direct3D 12

The part of Windows that draws graphics. WinAppMigrator's windows need it. Windows 10 and 11 normally have it, but an old graphics driver or a virtual machine may not.

DirectX End-User Runtime

A Microsoft runtime from June 2010, with files such as d3dx9_43.dll and xinput1_3.dll, that many games and other apps of the Windows XP and Windows 7 era need. No Windows comes with it. An installer installs it for an app that needs it, which takes internet. See Runtimes.

Disk Image

A copy of a whole drive, saved as a file. Windows can open, or attach, a VHD or VHDX as if it were a drive. It cannot attach a VMware .vmdk or a VirtualBox .vdi. Sysinternals Disk2vhd makes one of a PC that still runs. The app reads a .vhd or .vhdx with Disk Image…. See Pick a disk image.

DISM

A Windows tool that turns Windows features on and off, among other things.

DLL

A library file, ending in .dll, that programs load to use the code in it. Many apps ship their own, and rely on Windows' and runtimes' DLLs too.

DPAPI

Windows' own way of locking a person's secrets so only they, on that PC, can read them. A registry value locked this way is left out of an installer. Data locked this way inside an app's own files is not recognised.

Driver

A small program that runs inside Windows itself, usually to work a piece of hardware.

egui

The library the windows are drawn with. egui_kittest drives its screens in tests, with no window.

Elevated

Running with administrator rights.

Emulation

Running a program built for one kind of processor on another. Windows on Arm runs x64 programs this way. Most work, some do not.

Environment Variable

A named setting that Windows passes to every program, such as TEMP, the folder for temporary files. See also Path variable.

Event Log Source

A name an app writes messages to Windows' event logs under, so they can be read in Event Viewer.

Exit Code

A number a program hands back when it ends, so that a script can tell whether it worked. 0 means it did.

FAT32 and exFAT

Two ways of formatting a drive, common on USB sticks. Neither keeps file permissions. FAT32 cannot hold a file of 4 GiB or more.

File Type

What Windows knows about files with a certain ending, such as .txt: which app opens them, and with what icon.

Firewall Rule

A rule in Windows Firewall that lets a program's network connections in or out, or blocks them.

Footer

A short block at the very end of an installer's file that holds its package's size and hash, so the installer stub can find the package and check it. A loader's footer holds the data file's hash instead.

GiB and MiB

Units of size. A MiB is 1,024 × 1,024 bytes. A GiB is 1,024 MiB. Windows Explorer calls them MB and GB, and so do WinAppMigrator's screens.

GUID

A long id, written in braces like {0A1B2C3D-…}, that Windows and apps use to name things such as COM classes and installed products. Each is meant to be unique.

Hash

A short fingerprint of a file, worked out from every byte in it. If even one byte changes, the hash changes. WinAppMigrator uses the SHA-256 kind to check that files arrive unchanged.

Headless

Running with no window. The project's UI tests drive the real screens headless, and an installer run from a command line installs headless.

Hidden Entry

An entry in Windows' list of installed apps that Settings does not show, because it is part of another app. WinAppMigrator can offer one as a near match.

Hive

One of the files the registry is stored in. Each account has two of its own, NTUSER.DAT and UsrClass.dat, and the PC has others, such as SOFTWARE and SYSTEM.

HKLM and HKCU

The two main parts of the registry. HKLM, short for HKEY_LOCAL_MACHINE, holds settings for the whole PC. HKCU, short for HKEY_CURRENT_USER, holds the settings of the account a program runs as. When another administrator approves the UAC prompt, that is not the person signed in, so WinAppMigrator reads the signed-in person's own part of the registry instead.

Inno Setup

A free tool many apps use to make their setup. It keeps a log of what it installed, unins000.dat, which WinAppMigrator reads.

Install Location

The folder an app is installed into, such as C:\Program Files\Fabrikam Data Sync.

Install Record

What an app's setup leaves behind that says what it installed, such as MSI's database or Inno Setup's log.

Installer Stub

The program at the front of every installer WinAppMigrator builds. It reads the package that follows it, and installs it. It is never signed. See Privacy and security.

Journal

The record an install keeps, in a folder only administrators can open, of each change it makes and what that change replaced. Undoing an install works from it.

Last Look

The search a build makes, with the User Data option off, through what the installer says about the app, for the builder's account name, profile folder, PC name, and SID. It warns, and changes nothing. See Building an installer.

License Data

What an app keeps to show it is licensed, such as a license file, a key in the registry, or a store a licensing system keeps.

Link

A folder or file that only points to another place. Windows has several kinds, such as junctions and symbolic links. WinAppMigrator does not follow a link inside an app's folders, or any link on a connected drive, and will not install through one.

Link Protocol

What Windows knows about links that start with a certain name, such as mailto: or http:: which app opens them. The installer calls them Link Type.

Link-Time Optimization

A way of building in which the linker optimizes the whole program at once. The project's release builds use it, which makes them slower to build and faster to run.

Lint

A check for code that is probably a mistake or hard to read. Clippy is Rust's linter.

Loader

The small .exe of a two-file installer. It is the installer stub, with a short note at its end that holds the data file's hash.

LocalService and LocalSystem

Built-in Windows accounts a service can run as. LocalService has few rights. LocalSystem has full control of the PC, which is why a service running as it is marked amber in the installer.

Log

A text file a program writes about what it did, for when something goes wrong. WinAppMigrator's are in %ProgramData%\WinAppMigrator\logs.

Main Program

The program file that is the app itself, such as Fabrikam.exe, as opposed to its helpers, updaters, and uninstallers.

Manifest

The list inside an installer's package that says what the package holds: every file with its hash, every setting, and what the app needs. Separately, an elevation manifest is a note built into a program that tells Windows to ask for administrator rights when it starts. Both of this project's programs carry one that demands them.

MSI

Windows Installer, Microsoft's own way of installing apps. It keeps a database of what each app installed, which WinAppMigrator reads.

MSVC

Microsoft's C and C++ compiler and linker, from the Visual Studio build tools. Rust uses its linker on Windows.

Near Match

A folder, or a hidden part of an app, that is probably the app's but is not named exactly for it. It is offered under Might Also Be Part of It, and goes in only if you tick it.

.NET and .NET Framework

Two families of Microsoft runtimes that many apps are written for. .NET Framework 3.5 and 4 are the older family. .NET, numbered 5 and up, is the newer one. See Runtimes.

Network Share

A folder on another computer, reached over the network, with a path such as \\server\folder. WinAppMigrator does not read from or install to one. It can save WinAppMigrator Client to one, for the old PC to run it from there.

NSIS

A free tool some apps use to make their setup. It only sometimes keeps a list of what it installed.

NTFS

The usual way Windows formats its drives. Unlike FAT32 and exFAT, it keeps file permissions.

ODBC

A standard way for programs to reach databases. An ODBC driver knows how to talk to one kind of database. An ODBC data source is a saved connection to one database.

OIDC

A way for one service to prove to another who it is with a short-lived token, instead of a stored password. The release workflow uses it to sign in to Azure.

OneDrive

Microsoft's cloud storage, built into Windows. It can keep a file online only, with just a placeholder on the PC. WinAppMigrator lists such a file, and does not copy it.

Package

What an installer carries: the app's files, settings, and runtimes, with a manifest, in one compressed file.

Pairing Code

The six digits WinAppMigrator Client shows on the old PC, which you type into the app to pair the two PCs. The code itself is never sent over the network. After five wrong codes, the client makes a new one, and after 20 it lets nothing pair until it is started again. See Moving from a PC over the network.

Path Variable

The environment variable that lists the folders Windows looks in for a program you name by itself. An installer only ever adds the app's own folders to it.

Per-User and Per-Machine

A per-user app was installed for one Windows account, usually in that account's folders. A per-machine app was installed for everyone on the PC, usually in C:\Program Files.

Port

A numbered door a program listens at for other PCs on the network. A firewall rule can let a port through, or block it. WinAppMigrator Client uses two: TCP 47732, where the app connects to it, and UDP 47731, where the app asks who is there.

PowerShell

Windows' command line and scripting language.

Preview

Working out exactly what an install would do, without doing any of it. Preview Changes in the installer, or the installer without --apply.

Profile

A Windows account's own folder, such as C:\Users\You, holding its Documents, Desktop, AppData, and settings.

Program Files

The folders, usually C:\Program Files and, for 32-bit programs, C:\Program Files (x86), where apps are installed for everyone. Only administrators can change them.

ProgramData

A folder, usually C:\ProgramData, where apps keep data shared by everyone on the PC.

Public Documents

A Documents folder shared by everyone on the PC, usually C:\Users\Public\Documents.

Registry

Windows' central store of settings, for Windows itself and for apps. It is organized like folders, called keys, holding named values.

Rollback

Putting back what an install changed, when it fails or is cancelled. It goes through the journal in reverse.

Run Value

A registry value that tells Windows to start a program when someone signs in. One kind of startup item.

Runner

One of GitHub's machines that runs a CI job. It is thrown away afterward.

Runtime

Shared software that apps rely on, installed separately from them, such as Microsoft's Visual C++ runtime or .NET. WinAppMigrator can install Microsoft's. Others it finds, such as Java or Python, it only names. See Runtimes.

rustfmt

Rust's tool that formats code the same way everywhere.

Saved Games

A folder in each profile, such as C:\Users\You\Saved Games, where some games keep their saves.

Scan

WinAppMigrator looking at one app to find everything that belongs to it. The screen calls it "looking at" the app.

Scheduled Task

A job Windows' Task Scheduler runs by itself, at a set time or when something happens, such as signing in.

Self-Extracting Installer

A program that carries its own package inside it, and unpacks and installs it when run. Every installer WinAppMigrator builds is one, except one past 4 GiB, whose package is in a data file beside it.

Service

A program Windows runs in the background, often from the moment the PC starts, whether or not anyone is signed in.

Settings Entry

An app's line in Settings, under Installed apps, from which it can be uninstalled.

Shell Extension

Code an app adds to File Explorer, for example to put its own items on the right-click menu or icons on files.

Shortcut

A small file that opens a program, such as an icon on the Desktop or in the Start menu.

SID

A security identifier: the id Windows gives each account, such as S-1-5-21-…. It is unique to that account on that PC.

Signature

A digital seal on a program file that says who made it, and that it has not changed since. Windows shows the signer as the publisher at the UAC prompt. A file with no signature shows "Unknown publisher".

SmartScreen

A Windows safety check that can warn about a downloaded program it has not seen often.

Snapshot

A copy of a whole drive as it was at one moment, which Windows keeps, and calls a shadow copy. Reading from it, nothing is locked or changing. WinAppMigrator Client takes one of the old PC's Windows drive when it starts, and removes it when it stops.

Software Renderer

Drawing a window's graphics with the processor instead of a graphics card. GitHub's test machines have no graphics card, so their windows are drawn this way.

Staging Folder

A private, temporary folder where a build keeps its working files, or where an installer unpacks its package. It is removed when done.

Startup Item

Something set to run by itself when someone signs in, such as a Run value in the registry or a shortcut in the Startup folder. The screens call these Starts Automatically.

Static C Runtime

Building a program with the C runtime's code inside it, rather than loading VCRUNTIME140.dll. Both of this project's programs are built this way, so they start on a PC without the Visual C++ runtime, and no copy of that DLL planted beside them is ever loaded.

Tag

A name given to one version of the code in git, such as v0.5.0. Pushing a v tag starts a release.

Test Harness

The small program Rust's test tool builds around a crate's tests to run them.

Timestamp

A countersignature from a trusted time server, added when a file is signed. It shows the signature was made while its certificate was valid, so the signature still holds after the certificate expires.

Trust Store

See certificate.

TTK Condition

A kind of condition a Windows Firewall rule can carry. WinAppMigrator never moves a rule that has one, because on another PC it could let in more than intended.

UAC Prompt

The window Windows shows when a program asks for administrator rights, asking whether to allow it. UAC stands for User Account Control.

Uninstall String

The command an entry in Settings runs to uninstall an app. UninstallString opens a window, and QuietUninstallString runs with none. For an app installed by WinAppMigrator, both run its uninstaller.

Uninstaller

The program that takes an app back off a PC. For an app installed by WinAppMigrator, it is a copy of the installer stub, kept in a folder only administrators can change.

User Data

What an app keeps for one person: its settings and history in the registry, and its folders in AppData, Documents, and Saved Games. With the User Data option, the app's folders in ProgramData and Public Documents come too, and so does what Windows kept for the app in that person's VirtualStore.

VHD

Virtual hard disk: a file that Windows can open as if it were a drive. It ends in .vhd, or .vhdx for the newer kind, VHDX. Hyper-V keeps its virtual machines' disks as these. See disk image.

VirtualStore

Where Windows Vista and later keep, in an account's own profile, what an older 32-bit app believed it wrote to its folder under Program Files, or to the PC's part of the registry, where only administrators may write. Files go in the account's AppData\Local\VirtualStore, and registry values in its own part of the registry, under Software\Classes\VirtualStore. Windows gives them back when the app reads, so the app never knows. Apps made for Windows XP often keep their settings there. User Data brings them, and puts them in the app's own folder and registry key. See Apps from Windows 7, Vista, 8, or 8.1.

Visual C++ Runtime

A Microsoft runtime that apps written in C or C++ need. There are several versions, from 2005 to the 2015 and later family, which shares one runtime.

WCAG

The Web Content Accessibility Guidelines. Their AA level sets how much contrast text needs to be easy to read.

WinAppMigrator Client

A small program, WinAppMigrator Client.exe, that you run on an old PC with Windows 7 or later, so the app on another PC can read it over the network. It captures nothing and builds nothing: it takes a snapshot of the Windows drive, and lets the PC that typed its pairing code read from it, encrypted. The app carries it, and saves it for you. It is signed, as the app is. See Moving from a PC over the network.

Windows Feature

A part of Windows that is there but turned off until needed, such as .NET Framework 3.5. Turning it on can need internet.

winget

Windows' own tool for installing apps from the internet, also called the Windows Package Manager.

Workflow

A set of automated jobs that GitHub runs, described in a file under .github/workflows.

Workspace

A set of Rust crates built together, sharing one Cargo.lock and one set of settings. This project's workspace has four crates.

WOW6432Node

The part of the registry where 64-bit Windows keeps 32-bit programs' machine-wide settings, HKLM\Software\WOW6432Node. Their files go in Program Files (x86). A 32-bit Windows has neither: a 32-bit app's settings are in HKLM\Software itself. An app from 32-bit Windows is laid out the 64-bit way for the new PC.

x64, x86, Arm64

See architecture.

Zip

A common format for compressed files. An installer's package is a zip, and each release is also offered as a zip.

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