BITOSDT 2.0.4 EXPERIMENTAL DOCUMENTATION SNAPSHOT (MARCH 23, 2026)

Deployment Transparency Guide

This page documents what BitOSDT requires, where it stores files, how provisioning and WDS/PXE exports behave, what runs during deployment, and where to find troubleshooting data.

1) Prerequisites

  • Windows host with local administrator rights for the full GUI build, provisioning, and deployment surface.
  • Windows ADK + WinPE optional components installed (BitOSDT checks for required WinPE packages).
  • Experimental Linux-hosted media preparation is available for selected workflows when wimlib-imagex, xorriso, and a synced WinPE asset bundle are supplied.
  • Storage for downloaded OS media and workspace artifacts.
  • Network connectivity only if you choose cloud source, catalog sync, package managers, or remote runtime hosting.

2) Where BitOSDT Stores Files Locally

BitOSDT uses a user-profile app directory model for app state, plus deployment and runtime paths used during imaging, provisioning, and WinPE sessions.

PathPurpose
%USERPROFILE%\.bitosdt\config.jsonApp settings and path preferences.
%USERPROFILE%\.bitosdt\bitosdt.dbLocal metadata database (catalog and image records).
%USERPROFILE%\.bitosdt\downloads\Download cache for source files/catalog content.
%USERPROFILE%\.bitosdt\workspace\Workspace for mounted images, temporary build artifacts, and output preparation.
C:\BitOSDT\ProvisioningProvisioning package profiles, generated exports, and packaged support content.
C:\BitOSDT\WDSDedicated WDS/PXE export root containing boot.wim, payload manifests, and setup notes.
C:\BitOSDT\InstallersRuntime location for embedded Full ISO custom installer payloads.
C:\BitOSDT\AppsRuntime app payload staging used by provisioning packages and generated deployment flows.
C:\BitOSDT\FilesRuntime file-copy payload staging for provisioning packages and deployed machines.
C:\BitOSDT\ScriptsRuntime script staging for provisioning package automation and first-logon execution.
C:\BitOSDT\TasksTask sequence scripts directory in generated task settings model.
C:\BitOSDT\LogsTask/app/update logging destination inside deployed Windows.
X:\BitOSDT\Scripts|Config|Logs|StateWinPE runtime scripts, deployment config, status, and logs.

3) Exactly What Runs During Deployment (Execution Order)

PhaseExecution Order
WinPE start (Full ISO)startnet.cmd -> shell launcher -> Deploy-FullIso.ps1 -> disk prep -> DISM apply -> BCDBoot -> reboot.
WDS/PXE export buildBitOSDT prepares a WDS-friendly export bundle under C:\BitOSDT\WDS with boot.wim, payload metadata, and operator notes. You must publish the final runtime payload yourself, and the export now records exactly one selected runtime source: SMB/UNC or HTTP.
First boot in WindowsSetupComplete.cmd runs and calls task-runner.ps1.
Provisioning package executionGenerated .ppkg assets can stage files, scripts, Winget, Chocolatey, and custom installers, then apply locale/timezone and first-logon actions based on the selected trigger.
Task executionEnabled tasks execute in order (apps, updates, custom scripts) with per-task continue-on-error behavior.
Deferred actionsIf applicable, deferred scripts register RunOnce entries and execute at first admin logon.

4) Optional / Conditional Actions Matrix

ActionRuns By Default?Condition
Winget installsNoOnly when winget packages are selected.
Chocolatey installsNoOnly when chocolatey packages are selected.
Custom installersNoOnly when custom installers are selected (payload execution applies to Full ISO).
Deferred network installersNoOnly when network-directory installers are configured.
Provisioning package import/export toolsNoAvailable from Manage Provisioning Package when Advanced Mode is enabled.
WDS/PXE exportNoOnly when the wizard output mode is set to WDS / PXE and exactly one final UNC or HTTP runtime path is supplied.
Provisioning BitLocker disable stepNoOnly when a provisioning-package profile enables the dedicated BitLocker step before application installs.
RunOnce: BitOSDTWingetInstallersNoOnly when winget deferral is needed (e.g., LocalSystem context).
RunOnce: BitOSDTNetworkInstallersNoOnly when deferred network installers are configured.
Autopilot profile fileNoOnly when Autopilot is enabled in wizard.
Windows Update taskNot alwaysOnly when update categories are enabled.

5) Logs and Troubleshooting Paths

PathWhat It Captures
C:\BitOSDT\Logs\setup-complete.logSetupComplete execution log in deployed Windows.
C:\BitOSDT\Logs\task-runner.logMain post-install task sequence log.
C:\BitOSDT\Logs\app-install.logPrimary application install task log.
C:\BitOSDT\Logs\app-install-winget-deferred.logDeferred winget install log (RunOnce path).
C:\BitOSDT\Logs\app-install-network.logDeferred network-directory installer log.
C:\BitOSDT\Logs\windows-update.logWindows update task output.
C:\BitOSDT\Logs\provisioning-ui.logProvisioning package UI runtime log for generated onboarding flows.
C:\BitOSDT\Logs\provisioning-shell.logProvisioning package shell/orchestrator log.
X:\BitOSDT\Logs\startnet.logWinPE startnet launcher trace.
X:\BitOSDT\Logs\deploy.logWinPE deployment/bootstrap runtime log.
X:\BitOSDT\State\deploy-status.jsonWinPE progress/state payload.

6) "No Bloatware" Transparency Statement

BitOSDT does not silently install random software by default. Package installs and custom installer actions are driven by explicit wizard selections.

  • No hidden app list is preloaded into deployment by default.
  • Optional actions are conditional and documented above.
  • Generated scripts and logs are available for inspection.
Implementation note: task settings model references C:\BitOSDT\Tasks, while SetupComplete currently executes generated scripts from Windows\Setup\Scripts in deployed images.

7) Provisioning Package Notes

The provisioning package workflow remains the main experimental surface in 2.0.4. Simple mode stays focused on profile authoring, while Advanced Mode exposes import/export, regeneration, and lifecycle tooling.

CapabilityBehavior
Create Provisioning PackageGenerates a profile with optional scripts, copied files, Winget packages, Chocolatey packages, custom installers, locale, and timezone settings.
Manage Provisioning PackageLists saved profiles and supports edit, delete, folder-open, and conditional regeneration flows.
Advanced ModeAdds ZIP import/export, duplicate, rename, and direct .ppkg export actions.
PPKG exportExport regenerates the provisioning sidecar payload from the saved profile, then writes the .ppkg beside sibling Scripts, Apps, and Files folders when those assets are required.
BitLocker stepProvisioning-package profiles can add a dedicated BitLocker disable step before application installs, with an optional reboot immediately after manage-bde -off C:.

8) Package Manager and Runtime Hosting Notes

TopicOperator Guidance
WingetWinget packages install only when selected. If BitOSDT is running in LocalSystem during deployment, it defers those installs to the first admin logon.
ChocolateyChocolatey packages install only when selected. BitOSDT can bootstrap Chocolatey if the provisioning or deployment flow is configured to allow it.
Custom installersCustom installer payloads are explicit operator-selected actions. Review file paths and silent arguments before shipping images or provisioning packages.
Lightweight publishSimple delivery uses the embedded lightweight host only when you explicitly start it. Advanced PXE/WDS scenarios still require you to host the final runtime payload.
WDS/PXE runtime sourceWDS/PXE export requires one final runtime path only. Pick either a UNC path WinPE can reach directly or an HTTP/HTTPS URL BitOSDT can fetch at runtime, not both.
Experimental Linux-hosted prepSelected build workflows can now prepare media from Linux when the required tools are installed and BitOSDT has access to the synced WinPE asset bundle.
Experimental buildsBitOSDT 2.0.4 experimental builds report their channel in-app and only surface update prompts when a newer downloadable build exists for the same channel.