A theme is a combination of desktop background pictures, Window colors, sound scheme and a screensaver. Windows 7 introduces a new file format (.themepack) which is basically a .cab file that can contain images, audio files for sound scheme, mouse cursors, icons and the .theme file itself. This file format was introduced so that it’s easier to share themes to other Windows 7 systems.
When a .themepack file is run, it extracts the contents automatically to the following folder:
%localappdata%\Microsoft\Windows\Themes
As you see, it’s stored within the user profile folder, and the theme is available only for that user. The theme will be listed under "My Themes" in Personalization applet.

If another user in the same computer needs this theme, they need to run the .themepack file from their user account. This article tells you how to make available a Windows 7 Theme for all users in a computer, so that there are no redundant copies of theme files in the system.
Share a Theme With All User Accounts
Note: For illustration purposes, we’ll download "Happiness Factory" theme and make it available in the Personalization page on a per-machine basis. Download the Happiness Factory theme from the Windows 7 Personalization Gallery site at Microsoft.com. Before starting, uncheck the "Hide extensions for known file types" setting in Folder Options – View tab. (REF Show or hide file name extensions)
1. Create a folder on your Desktop, and name it as HappinessFactory
2. Download the Happiness Factory theme and save to Desktop.
3. Rename Happiness Factory_Windows7.themepack to Happiness Factory_Windows7.cab

4. Double-click the file Happiness Factory_Windows7.cab to view its contents.
5. Select all files, right-click and choose Extract

6. Select the HappinessFactory folder and click Extract

7. Click Save. Do this for every file processed.

8. Double-click HappinessFactory folder, and create a sub-folder named DesktopBackground

9. Move all the JPG images to the DesktopBackground folder.

10. Open the .theme file (Happiness.theme) using Notepad, and input the correct paths for the wallpaper, desktop slideshow, screensaver, brand logo and other resources.
Updating the Brand Logo image path:

We’ll change that to:

Originally the Wallpaper path was as in the image below.

We’ll change that to the following absolute path, as we’re eventually going to place the theme under the C:\Windows\Resources\Themes folder.

Then scroll down to the [Slideshow] section, and delete the ImagesRootPIDL entry.

Update the location for the ImagesRootPath accordingly (as below)

11. Save the .theme file and close Notepad.
12. Move the folder HappinessFactory from your Desktop to C:\Windows\Resources\Themes

13. Click Continue when you see the User Account Control prompt. You may have to type the administrator password if prompted.

14. Now move the file Happiness.theme from the HappinessFactory folder to its parent folder, which is C:\Windows\Resources\Themes

15. Right-click on your desktop, and choose Personalize.

The Happiness Factory is now listed under Installed Themes, which is accessible for all users in the system.
Editor’s Note: I hope you found this article useful. If you need to know more about creating/editing .theme files, read the MSDN documentation on Creating and Installing Theme Files.
Related Posts
- How to Create a Custom Theme Pack in Windows 7
- What Causes “Unsaved Theme” To Show Up in Themes Listing in Windows 7 and Windows Vista?
- Fix Bing Dynamic Theme Stops Working After Clearing IE Temporary Internet Files
- Fix Bing Dynamic Theme Cannot Download Feed Attachments
- Prevent Themes From Changing Desktop Icons in Windows 7
If you enjoyed this post, make sure you subscribe to our RSS feed! We feature Tips, Troubleshooting information, Scripts and Utilities for Microsoft Windows Operating Systems!
Prefer an E-mail subscription?




Does anyone know how I can upload my themepacks to the Microsoft website?
http://windows.microsoft.com/en-us/windows/downloads/personalize/themes
I found that to make the slideshow function you will need to add a section to the .theme file as follows
[Slideshow]
Interval=1800000
Shuffle=0
ImagesRootPath=%SystemRoot%\Resources\Themes\Arctic\DesktopBackground
Change the ImagesRootPath to point to the folder containing the images you want as part of the slide show. Change the Intreval value to change the speed of the slide show. This worked for me.
Thanks for this, very useful. One thing I have noticed though is that the theme doesn’t appear as a slideshow, it only shows the static wallpaper that’s set in the [Control Panel\Desktop] section. Until I click on Desktop Background under Personalize, and then it suddenly becomes a slideshow – but it also becomes a customised theme. Any way around this?
Hmmm… Good article. The process, however, seems complicated.
Perhaps I could use Visual C# Express 2008 to develop an application for handling ThemePack files … properly!
@anon: If the theme file contains relative paths, simply copying the theme files/folder to the Resources\Themes folder would just do it. But that doesn’t simply work if the source .theme file already contains *absolute* paths. Also, this article is intended to provide some background info on customizing/applying themes, but just takes the Coke theme as an example :-)
OR simply put the theme in %windir%\Resources\Themes. That makes it appear under “Installed themes”. :-)