Choose versions and platforms
Choose compatible CLI and SDK releases for each target OS and architecture. Use releases that support managed configuration; older clients do not enforce it. Check the installation requirements and migration guide when upgrading existing devices.Establish a working installation
Follow runtime setup, install your application’s SDK dependencies, and runmsb doctor in the employee’s session. Confirm a basic workload starts successfully with an approved image.
Package the approved runtime and dependencies for each target platform, separately from managed.json. Install runtimes in the employee’s home or a shared protected location, not root’s or SYSTEM’s home.
The remaining steps cover devices that cannot download dependencies directly. For connected devices, continue to company networking.
Prepare offline devices
Prepare runtime files, SDK packages, and images on a connected machine, then transfer them through your approved distribution system.Provision the runtime
Package matchingmsb, libkrunfw, and SDK dependencies for each target OS and architecture. Preserve the release’s executable permissions and library links. Follow runtime setup and use managed paths if you install the runtime in a shared location.
Install application dependencies before disconnecting. Setup helpers can download missing runtime files; use resolve to require an existing installation without downloading.
Distribution steps are covered in Deploy and verify.
Transfer approved images
On a connected machine with the same CPU architecture as the target, pull and export an image. This example uses Alpine; substitute your approved image:msb context selects the local backend, then import it as the employee who will run sandboxes:
Verify without downloads
Disconnect public network access, runmsb doctor, and test the imported image:
--pull never fails if the image is unavailable locally. --no-net disables guest networking; it does not control host installer downloads. This unnamed sandbox is removed when the command finishes.
Repeat with your actual application and SDK. Include every image, package, and runtime dependency it needs. Fully disconnected workloads can continue directly to Enforce team settings.