Help - Search - Members - Calendar
Full Version: [Howto Guide] Change XP Default Theme
MSFN Forums > Member Contributed Projects > HFSLIP

   
Google Internet Forums Unattended CD/DVD Guide
Geej
I remembered when I want to change the default XP theme in HFSlip, I search the forum for some answers but
could not find any complete informations.
There are some post mentioned in MSFN-nlite & RyanVM forum but not in HFslip forum.

After some searching, most useful info is from Gosh, plus trial & errors, I finally got it working in HFSlip.
Hence sharing this info with HFslip users. After all, default XP theme is so old now.

First get your fav theme. Majority of themes can be found from various forums :(MSFN-nlite, RyanVM or Wincert.net)

Here is how to make your fav theme as default theme:
As I like Kel's Midnight theme v1.8 by Kelsenellenelvian, I choose this theme as the default theme for demonstration.

Making your fav theme to your default theme mainly consist of 3 parts:
Part 1: Modify your fav theme to fit the default theme requirement
Part 2: Insert Default theme inf
Part 3: Included a patched uxtheme.dll accroding to your OS
For this case, download XP SP3 version 6.0.2900.5512_EN.rar (tested to work even on XPSP2 with updated hotfix)

Part 1:
=====
Download the theme & modify the following:

1)a. Unpack Themes_Kels_Midnight_Addon_1.8.cab to it's own subfolder

b. Unpack MIDNIGHT.CAB to its subfolder again.
Convert Midnight Blue.jpg to Midnight Blue.bmp using any image editor
Remember to delete Midnight Blue.jpg

c. Edit 'Midnight Blue.Theme' using any text editor: (I use notepad++)
CODE
         Scroll to     [Control Panel\Desktop]  section
             Change
            Wallpaper=%WinDir%Web\Wallpaper\Midnight Blue.jpg
             to
            Wallpaper=%WinDir%Web\Wallpaper\Midnight Blue.bmp

d. While we are editing, you may want to change [Theme] section
CODE
[Theme]
; My Computer
      From   DefaultValue=C:\WINDOWS\Explorer.exe,0
        to
             DefaultValue=%windir%explorer.exe,0
            
; My Documents
      To    DefaultValue=%windir%SYSTEM32\mydocs.dll,0

; My Network Places
      To    DefaultValue=%windir%system32\SHELL32.dll,17

; Recycle Bin
      to   full=%windir%System32\shell32.dll,32
           empty=%windir%System32\shell32.dll,31


e. There are 3 more themes (Midnight Green.Theme, Midnight Grey.Theme & Midnight Pink.Theme) which you might
want to convert to environment variable style

Save Midnight Blue.Theme, Recab back the whole folder back to MIDNIGHT.CAB (& remember to delete MIDNIGHT folder)

2) Next, decompress MIDNIGHT.IN_ to MIDNIGHT.INF
Replace any text reference of 'Midnight Blue.jpg' to 'Midnight Blue.bmp' (use the Find/replace feature in your text editor)
(There are only 2 text references to replace)

Edit the following:
CODE
    [SourceDisksFiles]
    Midnight Blue.jpg=1 <-- located at line 54
    [wall]
    Midnight Blue.jpg <--- located at line 141

to
    [SourceDisksFiles]
    Midnight Blue.bmp=1
    [wall]
    Midnight Blue.bmp


Recompress MIDNIGHT.INF back to MIDNIGHT.IN_
Then Delete MIDNIGHT.INF

3) Repack the whole package back to Themes_Kels_Midnight1.8.cab (this is now the modified one)
Give a slightly differently name, such as Default_Themes_Kels_Midnight1.8.cab

Part 2:
=====
Create an .inf, say DefaultthemeMidnightBlue.INF in HFGUIRUNONCE folder with the following code: (attachment available for download, after the codebox)
CODE
[Version]
Signature=$Windows NT$

[Optional Components]
MyThemesRegTweaks

[DefaultInstall]
OptionDesc ="Registry Entries"
Tip        ="Registry Entries"
Modes      =0,1,2,3
AddReg     =REGEntries.AddReg
DelReg     =REGEntries.DelReg

[MyRegTweaks]
OptionDesc ="Registry Entries"
Tip        ="Registry Entries"
Modes      =0,1,2,3
AddReg     =REGEntries.AddReg
DelReg     =REGEntries.DelReg

[REGEntries.AddReg]
; Reg2Inf v0.37 - http://tinyurl.com/fgqyf
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Themes","InstallTheme",0,"%%SystemRoot%%\Resources\themes\Midnight Blue.Theme"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Themes\LastTheme","Wallpaper",0x00020000,"%%SystemRoot%%\Web\Wallpaper\Midnight Blue.bmp"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Themes\LastTheme","ThemeFile",0x00020000,"%%SystemRoot%%\resources\Themes\Midnight Blue.Theme"

or download DefaultthemeMidnightBlue.inf here

Click to view attachment

For changing to other themes of your choice, you need to edit DefaultthemeMidnightBlue.inf file.
Under [REGEntries.AddReg] section, modify the 3 system paths accordingly to your own theme.

Part 3:
=====
Download patched theme uxtheme.dll with XP SP3 version 6.0.2900.5512_EN.rar. Extract the package until you see uxtheme.dll
You need to compress to uxtheme.dl_ format

Where to place the files:
Put Default_Themes_Kels_Midnight1.8.cab in HFAAO folder
Put DefaultthemeMidnightBlue.INF in HFGUIRUNONCE folder
Put uxtheme.dl_ in REPLACE\i386 folder (create the folder if doesn't exist)

Done. Pls test in Virtual PC first.

Suggested Tools:
----------------------
1) Add the following cabtool registry tweak to your OS. These will allow you to convert .dll to .dl_ type and vice versa.
Cabtool Registry Tweak
2) CabTool v1.8 in SendTo style Build2, 2008/04/07
or Kels_Uber_Addon_v13.7.CAB. (CabTool v1.8 in SendTo style is already included in Kels_uberpack)

3) Any archiver tool such as IZArc or TUGzip

The above works during testing for hfslip-1.7.8.cmd, slipstreaming SP3, WMP11 & IE7 with clean XPSP2 source.
All using TommyP's method as stated in his website. IE7 is set to slipstream at T13 (HFANSWER.INI with IE7SVCPACK=1).
It will not override XP own default theme (Luna.theme).
There is not need to refer any code in Winnt.sif for the theme part, if you are using unattended mode.

I hope you will find this info useful.
LeveL
Does anyone know how Windows converts a JPG to a BMP in the background?

If we knew that and could do that on the command line it could save space if JPG images are used.

It seems it has to be a BMP and they are huge! Like 2Mb per image.
Geej
U could do a format conversion from jpg to bmp thru irfanview executable (i_view32.exe)

If you have i_view32.exe located in c:\windows, then the command would be:

CODE
i_view32.exe "%windir%\web\wallpaper\friend.jpg" /convert="%windir%\web\wallpaper\friend.bmp"
del "%windir%\web\wallpaper\friend.jpg"
exit

Just ensure your jpg files exists on your hard-disk before this conversion takes places


(You may wish to deploy cWnd.exe to hide the console)

Alternatively, since HFSlip support autoit directly (which I appreciate it very much), you can add a script (say Convert2bmp.au3) in HFEXPERT\AUTOIT folder with the code to hide the console. Note: requires AutoIt3.exe in the same HFEXPERT\AUTOIT folder.
CODE
FileChangeDir (@WindowsDir&"\web"&"\Wallpaper")
Runwait ("i_view32.exe friend.jpg /convert=friend.bmp","",@SW_HIDE)
FileDelete (@WindowsDir&"\web"&"\Wallpaper"&"\friend.jpg"); delete friend.jpg after conversion

;Just ensure your jpg files exists on your hard-disk before this conversion takes places

Note: Put i_view32.exe in HFEXPERT\WIN folder if you wish to use any of the above 2 methods

NOTE: Default theme wallpaper still requires bmp format though.
You can read an article here (Read post #5)
Geej
When you right-click Desktop -> Properties, in the Themes Tab, More themes online... link is no longer valid.



Below is registry tweak to point to another url. I has it set to themes.belchfire.net

You may wish to change the url of your choice.

Place this reg file in HFSVCPACK folder

Click to view attachment
Google Internet Forums Unattended CD/DVD Guide
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.