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.
- Download and install the desired theme from the Windows Store (or create your own).
- Find the theme under
%USERPROFILE%\AppData\Local\Microsoft\Windows\Themes\
. - Move
.theme
file to%SystemRoot%\Resources\Themes
. - 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
. - Open
.theme
file up for editing. - Remove
ImagesRootPIDL
setting underSlideshow
section of the file. - Add
ImagesRootPath
setting and make it equal%SystemRoot%\Resources\Themes\THEME_NAME\DesktopBackground
. - 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. - Update path in
Wallpaper
underControl Panel\Desktop
, so that it's relative toTHEME_NAME\DesktopBackground
instead (it should be a relative path, not absolute). - 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
- Create a test account on the system.
- Log-in to the test account.
- If you need to correct errors:
- Log out of the test account completely.
- Open system properties (
control sysdm.cpl
). - Open "Settings..." under the "Advanced" tab.
- Delete the profile for the test account.
- 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.