A configurable WPF application designed for Microsoft Deployment Toolkit (MDT) and other system imaging scenarios. This application provides a professional, full-screen interface that warns users not to interact with systems undergoing imaging or provisioning processes.
During system imaging and deployment processes, it's critical that users don't interfere with the installation. This application creates a clear, professional warning display that:
- Prevents accidental user interaction during imaging
- Provides clear status information about the deployment process
- Displays organization-specific branding and messages
- Works seamlessly with MDT task sequences
- Full-screen display with configurable text and styling
- Animated loading indicator with spinning progress wheel
- Auto-generated JSON configuration with customizable settings
- Support for custom organization logos (PNG, JPG)
- Test mode for different resolutions
- Minimizable with Ctrl+M (admin access)
- Self-contained executable - no .NET runtime required
The application automatically generates a display_config.json
file on first run. You can customize this file to change the appearance and messages. Example configuration:
{
"warningMessage": "!!! DO NOT TOUCH THIS COMPUTER !!!",
"logoPath": "Images/CompanyLogo.png",
"organizationMessage": "Standard Desktop Configuration",
"statusMessage": "Configuration in Progress",
"primaryInstruction": "Please keep your computer powered on and connected to the Internet during configuration.",
"secondaryInstruction": "This computer will reboot several times during setup and will load the initial setup experience upon completion.",
"backgroundColor": "#003366",
"warningColor": "#FF0000",
"primaryTextColor": "#FFFFFF",
"spinnerColor": "#FFFFFF",
"textShadowColor": "#99000000",
"textShadowOpacity": 0.3,
"primaryFont": "Segoe UI",
"lightFont": "Segoe UI Light"
}
dotnet run
dotnet run [width] [height]
# Example: dotnet run 1920 1080
.\test-resolutions.bat
The application includes a test mode for verifying display appearance at different resolutions:
- 1024x768 (Standard)
- 1280x720 (720p)
- 1366x768 (HD)
- 1440x900 (HD+)
- 1600x900 (HD+)
- 1920x1080 (Full HD)
- 2560x1440 (2K)
- 3840x2160 (4K)
- Ctrl+M: Minimize window (available in all modes)
- ESC: Close window (Test mode only)
- Alt+F4: Close window (Test mode only)
- .NET 9.0 SDK
- Windows OS (64-bit)
- Visual Studio 2022 or VS Code with C# extension
- Windows OS (64-bit)
- No .NET runtime required (self-contained application)
dotnet build
The easiest way to publish is using the included batch file:
.\publish.bat
This will create a self-contained, single-file executable with these optimizations:
- Fully self-contained (no .NET runtime required)
- Single-file deployment
- Compressed output for smaller size
- Debug symbols removed
- Includes all necessary dependencies
The published output will be in bin\Release\publish\
.
If you prefer to publish manually:
dotnet publish -c Release --self-contained true -p:PublishSingleFile=true
-
After publishing, copy these items to your deployment location:
ImagingDisplay.exe
(the published executable)Images
folder (containing your organization's logo)
-
Run the executable - it will create a default
display_config.json
on first run -
Customize the
display_config.json
with your organization's settings
To integrate with MDT:
- Add the executable and Images folder to your deployment share
- Create a task sequence step to launch the application
- The application will create its config file on first run
- The display will prevent user interaction during critical deployment phases
- Run during MDT task sequences
- Display during lengthy provisioning steps
- Warn users during system reimaging
- Show corporate branding during deployment
- System provisioning status display
- Fresh OS installations
- Mass deployment operations
- Configuration management processes