---
title: DevicePreparation CSP
description: Learn more about the DevicePreparation CSP.
author: vinaypamnani-msft
manager: aaroncz
ms.author: vinpa
ms.date: 11/06/2023
ms.localizationpriority: medium
ms.prod: windows-client
ms.technology: itpro-manage
ms.topic: reference
---
# DevicePreparation CSP
[!INCLUDE [Windows Insider tip](includes/mdm-insider-csp-note.md)]
The following list shows the DevicePreparation configuration service provider nodes:
- ./Device/Vendor/MSFT/DevicePreparation
- [BootstrapperAgent](#bootstrapperagent)
- [ExecutionContext](#bootstrapperagentexecutioncontext)
- [MDMProvider](#mdmprovider)
- [MdmAgentInstalled](#mdmprovidermdmagentinstalled)
- [Progress](#mdmproviderprogress)
- [RebootRequired](#mdmproviderrebootrequired)
- [PageEnabled](#pageenabled)
- [PageSettings](#pagesettings)
- [PageStatus](#pagestatus)
## BootstrapperAgent
| Scope | Editions | Applicable OS |
|:--|:--|:--|
| ✅ Device
❌ User | ✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview |
```Device
./Device/Vendor/MSFT/DevicePreparation/BootstrapperAgent
```
Parent node for configuring agent that orchestrates provisioning and communicate status to Device Preparation page.
**Description framework properties**:
| Property name | Property value |
|:--|:--|
| Format | `node` |
| Access Type | Get |
### BootstrapperAgent/ExecutionContext
| Scope | Editions | Applicable OS |
|:--|:--|:--|
| ✅ Device
❌ User | ✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview |
```Device
./Device/Vendor/MSFT/DevicePreparation/BootstrapperAgent/ExecutionContext
```
This node holds opaque data that will be passed to the Bootstrapper Agent as a parameter when it's invoked to execute.
**Description framework properties**:
| Property name | Property value |
|:--|:--|
| Format | `chr` (string) |
| Access Type | Get, Replace |
## MDMProvider
| Scope | Editions | Applicable OS |
|:--|:--|:--|
| ✅ Device
❌ User | ✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview |
```Device
./Device/Vendor/MSFT/DevicePreparation/MDMProvider
```
Parent node for configuring the MDM provider that interacts with the BootstrapperAgent.
**Description framework properties**:
| Property name | Property value |
|:--|:--|
| Format | `node` |
| Access Type | Get |
### MDMProvider/MdmAgentInstalled
| Scope | Editions | Applicable OS |
|:--|:--|:--|
| ✅ Device
❌ User | ✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview |
```Device
./Device/Vendor/MSFT/DevicePreparation/MDMProvider/MdmAgentInstalled
```
This node indicates whether the MDM agent was installed or not. When set to true sets the AUTOPILOT_MDM_AGENT_REGISTERED WNF event.
**Description framework properties**:
| Property name | Property value |
|:--|:--|
| Format | `bool` |
| Access Type | Get, Replace |
| Default Value | False |
### MDMProvider/Progress
| Scope | Editions | Applicable OS |
|:--|:--|:--|
| ✅ Device
❌ User | ✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview |
```Device
./Device/Vendor/MSFT/DevicePreparation/MDMProvider/Progress
```
Node for reporting progress status as opaque data. Contract for data is between the server and EMM agent that reads the data.
**Description framework properties**:
| Property name | Property value |
|:--|:--|
| Format | `chr` (string) |
| Access Type | Add, Delete, Get, Replace |
### MDMProvider/RebootRequired
| Scope | Editions | Applicable OS |
|:--|:--|:--|
| ✅ Device
❌ User | ✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview |
```Device
./Device/Vendor/MSFT/DevicePreparation/MDMProvider/RebootRequired
```
This node indicates whether an MDM policy was provisioned that requires a reboot.
**Description framework properties**:
| Property name | Property value |
|:--|:--|
| Format | `bool` |
| Access Type | Get |
| Default Value | False |
## PageEnabled
| Scope | Editions | Applicable OS |
|:--|:--|:--|
| ✅ Device
❌ User | ✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview |
```Device
./Device/Vendor/MSFT/DevicePreparation/PageEnabled
```
This node determines whether to show the Device Preparation page during OOBE.
**Description framework properties**:
| Property name | Property value |
|:--|:--|
| Format | `bool` |
| Access Type | Get, Replace |
| Default Value | false |
## PageSettings
| Scope | Editions | Applicable OS |
|:--|:--|:--|
| ✅ Device
❌ User | ✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview |
```Device
./Device/Vendor/MSFT/DevicePreparation/PageSettings
```
This node configures the Device Preparation page settings.
**Description framework properties**:
| Property name | Property value |
|:--|:--|
| Format | `chr` (string) |
| Access Type | Get, Replace |
## PageStatus
| Scope | Editions | Applicable OS |
|:--|:--|:--|
| ✅ Device
❌ User | ✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview |
```Device
./Device/Vendor/MSFT/DevicePreparation/PageStatus
```
This node provides status of the Device Preparation page.
**Description framework properties**:
| Property name | Property value |
|:--|:--|
| Format | `int` |
| Access Type | Get, Replace |
**Allowed values**:
| Value | Description |
|:--|:--|
| 0 | Disabled. |
| 1 | Enabled. |
| 2 | InProgress. |
| 3 | ExitOnSuccess. |
| 4 | ExitOnFailure. |
## Related articles
[Configuration service provider reference](configuration-service-provider-reference.md)