WIM Library
The WIM Library is the central repository for all Windows images used in deployments. Each registered WIM file includes a SHA-256 hash that the deployment agent verifies before applying the image to a target machine.
Family (Client or Server)
The table has a Family column and a Family filter (All, Client, Windows Server), worked out from the image's Windows version label. The filter is kept in the address (?family=server) so a link opens the same view. Windows Server images are labelled by server release, for example Windows Server 2025; see Deploying Windows Server.
Uploading Images
On the Windows Images page, click Upload Custom WIM to add a WIM file directly. The upload process:
- Select a
.wimfile from your local machine - The file is streamed directly to the server via HTTP POST (not through the Blazor SignalR connection, enabling multi-GB transfers)
- A progress bar shows upload status in real time
- The server computes the SHA-256 hash after upload completes
- The WIM is registered in the database with its name, size, hash, and detected Windows version
The maximum upload size for WIM files is 10 GB.
Tip: For most use cases, use the Create Windows Image wizard instead of uploading raw WIMs. The wizard creates optimized, debloated images from your ISOs.
Image Verification
Every WIM in the library has a stored SHA-256 hash. During deployment, the agent:
- Streams the WIM from the server (or relay)
- Computes the SHA-256 hash of the received data
- Compares against the expected hash
- Aborts with
INTEGRITY_FAILEDif there is a mismatch
This ensures bit-perfect image delivery even over unreliable networks.
Managing Images
Progress and status of uploads and customization jobs update on the page as they happen; there is no need to refresh it.
- Edit - Click the row, or use the row's Actions menu, to open the edit dialog (rename, and read the full SHA-256 with a copy button). In-flight job rows open their progress detail the same way, so every row in the table opens something on click.
- Delete - Removes the image from the database and deletes the
.wimfile from disk. Deletion is blocked if the image is:- Referenced by an active deployment recipe
- Referenced by an active WIM customization job
- Completed job references are automatically nulled on delete
Relay Sync
WIM images sync to relay sites automatically based on recipe assignments. Images are never assigned to relay groups themselves: when an active recipe is in a relay group, its image is included in the sync manifest of that group's relay sites (see Relay groups). Relays download images using:
- HTTP Range headers for resumable downloads: an interrupted download continues from the byte it reached on the next sync
- ETag-based conditional resume (the SHA-256 hash is the ETag): a resume sends
If-Rangewith the ETag the partial file was started under, so if the image changed on Core in the meantime the relay receives the whole new image and starts over instead of splicing new bytes onto an old prefix. Every image is SHA-256 verified before it is registered, resumed or not
Deploying machines resume the same way: if the connection drops during the image download, the agent resumes from the byte it reached (up to 3 times) instead of starting the multi-GB download again, and still verifies the SHA-256 of the whole file.
Storage
WIM files are stored in the configured image storage path (typically {DataRootPath}/Images). The resolved path is visible in Settings > General > Organization > Data Storage.