Skip to content

Instantly share code, notes, and snippets.

@GuyPaddock GuyPaddock/
Last active Jun 10, 2019

What would you like to do?
Creating default Windows Theme


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.


  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.


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
You can’t perform that action at this time.