Your first deployment

Three steps. One normal deployment.

Start with two built-in apps on an online x64 device.

Release candidate OSDStage 1.0.0-rc4 on the PowerShell Gallery. Use -AllowPrerelease to install the preview.
01
On the target PC · Online WinPE

Install from the PowerShell Gallery.

Let OSDCloud apply Windows first. Run this before the first Windows boot, with internet access and PowerShellGet 1.6 or later available.

PowerShell
Install-Module OSDStage -Repository PSGallery -AllowPrerelease -Force -ErrorAction Stop
Import-Module OSDStage -Force -ErrorAction Stop

No module copy on a USB drive is needed. The optional OSDCloud-labeled USB cache is detected automatically.

02
Same target PC · WinPE

Choose your apps.

Add only what this device needs.

PowerShell
Add-OSDStageGoogleChromeEnterprise -Architecture x64
Add-OSDStageAdobeAcrobatUnified -Architecture x64

These commands stage the selection. Installation happens during the next step.

03
Same WinPE session → first Windows boot

Check the queue. Continue your deployment.

PowerShell
Test-OSDStageDeployment -ThrowOnFailure |
    Format-List Valid, OfflineReady, NetworkRequired, PackageCount

Expect Valid: True and PackageCount: 2 on a fresh test. OfflineReady: False is normal when content still needs to download.

Use your normal deployment restart. Keep the PC online until OOBE appears. If you use a USB cache, leave it connected. SetupComplete downloads the content as needed and installs your selections in order.

Your deployment, recorded

Open your delivery report.

After SetupComplete, open %ProgramData%\OSDStage\Results\DeliveryReport.html. Review app results, component details and attention items. The matching JSON is there too.

See what the report tells you →
Where can I see the result?

On the deployed Windows device, after SetupComplete:

PowerShell
$result = Get-Content "$env:ProgramData\OSDStage\Results\Latest.json" -Raw |
    ConvertFrom-Json
$result | Format-List Status, SuccessfulPackageCount, FailedPackageCount
$result.Packages | Format-Table Id, Status, ExitCode

Reaching OOBE alone does not prove every package succeeded.

Make it your deployment.

Add settings or packages from your own repository.

Explore guides →