Skip to content

Instantly share code, notes, and snippets.

@GuyPaddock
Last active September 24, 2023 08:05
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GuyPaddock/ce6f29fd52dc001ce292c061f48779ac to your computer and use it in GitHub Desktop.
Save GuyPaddock/ce6f29fd52dc001ce292c061f48779ac to your computer and use it in GitHub Desktop.
Creating default Windows Theme

Introduction

This is a brief snippet for Windows 10 admins that want to make a Windows theme the default for new users without enforcing it via Group Policy.

Instructions

  1. Download and install the desired theme from the Windows Store (or create your own).
  2. Find the theme under %USERPROFILE%\AppData\Local\Microsoft\Windows\Themes\.
  3. Move .theme file to %SystemRoot%\Resources\Themes.
  4. Move backgrounds into %SystemRoot%\Resources\Themes\THEME_NAME\DesktopBackground. Any other theme files (like sounds, etc) should be copied to appropriate folders under %SystemRoot%\Resources\Themes\THEME_NAME.
  5. Open .theme file up for editing.
  6. Remove ImagesRootPIDL setting under Slideshow section of the file.
  7. Add ImagesRootPath setting and make it equal %SystemRoot%\Resources\Themes\THEME_NAME\DesktopBackground.
  8. Update any lingering path references in the file so that they are paths relative to %SystemRoot%\Resources\Themes\ instead of relative to the user profile/other paths on the system.
  9. Update path in Wallpaper under Control Panel\Desktop, so that it's relative to THEME_NAME\DesktopBackground instead (it should be a relative path, not absolute).
  10. Run a command like this from CMD (modify for name of theme):
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes" /v InstallTheme /t REG_SZ /d "%SystemRoot%\Resources\Themes\THEME_NAME.theme" /f
  1. Create a test account on the system.
  2. Log-in to the test account.
  3. If you need to correct errors:
    1. Log out of the test account completely.
    2. Open system properties (control sysdm.cpl).
    3. Open "Settings..." under the "Advanced" tab.
    4. Delete the profile for the test account.
    5. Repeat steps 9-10 while you make corrections.

Limitations

It seems like Windows builds a new custom theme around the specified theme file instead of just switching to it. Some theme settings don't get respected unless the user goes under "Themes" in Control Panel and re-selects the theme. For example, the slideshow interval and shuffle settings don't get respected but will be respected if the theme is chosen a second time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment