\
Skip Navigation LinksHome > eZine > Peer 2 Peer > Article\
 
 
James Acosta With 6 years experience in software QA for small to mid-size development companies, and 4 years experience finding the right product solution for clients, James is the right man for the job and a valuable resource.

[]Recent Articles
[]Browse all by this Author



 
Icon of James AcostaFriday, December 25, 2009
Change The Default Background in Windows 7
By James Acosta
 
Shout-Back! Read Comments  |  Post A Comment

If you're an Enterprise Administrator in charge of mass deploying Windows 7, you know that the level of customization you do to ensure a look and feel that reflects your company can be as far from the default configuration as the OEM configuration that was on the hardware when you took it out of the box from the manufacturer.  Windows 7 brings a new level of obfuscation to the customization of even the smallest things, and although Microsoft might not feel that you qualify for OEM configuration knowledge, you do.

One of the first customizations that I tend to do is change the background image displayed at the logon prompt; something fitting your company's look and which includes the logo.  Changing it would seem upfront, but basic image swaps will prove unsuccessfully, and a scan thru the Windows 7 RSK will not yield information.  This OEM customization is actually very easy to do once you know how.

Create Your Images

Although you can get away with a single image, Windows 7 is much smarter than prior versions in that it detects the screen ratio and makes graphical display decisions based on the environment.  To take advantage of this, you'll want to create different versions of your image, so using a graphics program such as PhotoShop or CorelDRAW to create a master image that can be resized easily will prove beneficial. 

Take into consideration the default resolutions of all the hardware in your environment.  The default resolution will be the "recommended" resolution your graphics card shows after it has been properly installed but before any user makes a modification.  You can obtain this a few different ways:

Set objWMI = GetObject("winmgmts:\\.\root\CIMv2")
Set colRes = objWMI.ExecQuery( _
    "SELECT * FROM Win32_DesktopMonitor")
For Each objRes In colRes
    WScript.Echo objRes.ScreenWidth & _
       "x" & objRes.ScreenHeight
Next
  • Navigate: Control Panel | Appearance And Personalization | Display | Screen Resolution - From there, note the value in the Resolution dropdown.
  • Use a script to query the value, as displayed to the right.  The benefit of using a script is that you can also query systems remotely.  A simple change on the first line substituting the period for the NetBIOS or IP address of a remote system, and you can save yourself a lot of foot work.

Once you have created your master image, you will want to go thru your list of desired screen resolutions and fit your image accordingly (i.e., the width and height of the image matches the screen resolution width and height.).  For each screen resolution desired, save your master image as a JPG naming it background####x####.jpg where ####x#### is the matching width and height (e.g., an image that is 1024 by 768 would be named background1024x768.jpg).  Ensure that you set the compression high enough that your final image is under 256kb in size, otherwise Windows will skip it.

The last step is to create a default image; one that Windows will use if it can not find a suitable resolution-specific file.  Windows will always be setting the display on any background image as Stretch To Fit, so try and come up with a default image that won't look too off if it is stretched widescreen (portrait or landscape) or kept as a standard ratio.  Save this image file as backgroundDefault.jpg with the same compression settings.

Configure The File System

On your target systems, you will need to create a folder to place all your image files.  This folder will not exist:

%WinDir%\System32\oobe\info\backgrounds

Copy all your created images into this folder.

Configure The Registry

Windows will ignore your folder and images if it isn't specifically told to use the files.  To do this, you must create an entry in registry.  There are two reported locations that work, personally I've have no issues when only using the first, but adding both won't hurt anything:

  1. Create the following key:
    HKLM\Software\Microsoft\Windows \CurrentVersion\Authentication\LogonUI\Background
  2. Create a new DWORD value named OEMBackground and give it a value of 1
  3. Navigate to:
    HKLM\Software\Policies\Microsoft \Windows\System
  4. Create a new DWORD value named OEMBackground and give it a value of 1

A note of caution here.  Ensure that during your automation that the registry work is done after Windows has completed it's setup.  I recommend making this one of the last steps before software installation.  Too early and I've seen where Windows removes all or some of the registry modifications and you're left with the default Windows background.  If the Authentication key looks sparse or under populated, move your process to later in the build.

Summary

Windows will need a reboot in order for your changes to be shown.  Otherwise, your customer's first customization experience will be firmly in place and your new background displayed at the logon screen.



Comments: [0]   [Show Disclaimer]

Post a Comment
Display Name:
Comment:
(Plain text only - all HTML will be stripped)

Would you like to post your article here or have a topic you would like to see written about? We are always looking for great technology articles and ideas to share with our readers. Inquire Here.

 FAQs  |  Terms Of Use  |  Privacy Policy  |  Contact Us
Copyright © 1997 - 2010 Dx21, LLC. All rights reserved.
Dx21, LLC a Washington Limited Liability Company
Page Rendered at: 9/8/2010 10:16:10 PM for Unknown