Skip to content

An over-engineered imaging display for use with MDT imaging scenarios.

License

Notifications You must be signed in to change notification settings

ThatOneCodeDev/Imaging-Display

Repository files navigation

Imaging Display

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.

Purpose

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

Features

  • 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

Configuration

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"
}

Usage

Development Mode

dotnet run

Test Mode (Specific Resolution)

dotnet run [width] [height]
# Example: dotnet run 1920 1080

Resolution Testing Script

.\test-resolutions.bat

Resolution Test Mode

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)

Controls

  • Ctrl+M: Minimize window (available in all modes)
  • ESC: Close window (Test mode only)
  • Alt+F4: Close window (Test mode only)

Requirements

Development Requirements

  • .NET 9.0 SDK
  • Windows OS (64-bit)
  • Visual Studio 2022 or VS Code with C# extension

Runtime Requirements

  • Windows OS (64-bit)
  • No .NET runtime required (self-contained application)

Building and Publishing

Quick Build

dotnet build

Publishing

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\.

Manual Publishing

If you prefer to publish manually:

dotnet publish -c Release --self-contained true -p:PublishSingleFile=true

Deployment

  1. After publishing, copy these items to your deployment location:

    • ImagingDisplay.exe (the published executable)
    • Images folder (containing your organization's logo)
  2. Run the executable - it will create a default display_config.json on first run

  3. Customize the display_config.json with your organization's settings

MDT Integration

To integrate with MDT:

  1. Add the executable and Images folder to your deployment share
  2. Create a task sequence step to launch the application
  3. The application will create its config file on first run
  4. The display will prevent user interaction during critical deployment phases

Use Cases

MDT Deployment Integration

  • Run during MDT task sequences
  • Display during lengthy provisioning steps
  • Warn users during system reimaging
  • Show corporate branding during deployment

General Deployment Scenarios

  • System provisioning status display
  • Fresh OS installations
  • Mass deployment operations
  • Configuration management processes

About

An over-engineered imaging display for use with MDT imaging scenarios.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published