Jump to content


anyweb

Customising Windows 7 deployments - part 1.

Recommended Posts

For Technet information on Multilingual deployments please see this post - http://technet.microsoft.com/en-us/library/dd744336%28WS.10%29.aspx

 

This is a very common question, how can I change the regional, keyboard, locale etc in Windows 7, so I'll try and explain how i do it in this post.

 

In this example we will make the Italian keyboard layout (it-IT) the default keyboard layout for Windows 7 login screen, location, keyboard layout.

 

Now of course you can add many more changes to your Unattend.xml file and use them all together to apply changes to Windows 7, but this example is only to show you how to customise the file to add Italian keyboard/locale support within Windows 7, it's up to you to get creative after this !.

 

Set up your LAB.

 

You'll need to have a few things in place in order to get this working:-

 

1. You will need the Windows SIM (Windows System Image Manager) tool to edit your unattend.xml files. Windows SIM is part of the WAIK. So if you havn't already done so, on a lab server, download the WAIK for Windows 7 (Windows® Automated Installation Kit) and install it.

 

2. You will need an extracted copy of your chosen architecture Windows 7 Enterprise DVD copied to a temp folder on your lab server. We will be using this image to build our templates (unattend.xml files) which will include our customizations to Windows 7. So go ahead and copy the contents of your Windows 7 Enterprise Edition DVD to d:\temp\windows7\x86. In this example we are using the 32 bit version of Windows 7. If you want to make changes to the 64bit version of Windows 7, then you'll need to copy the contents of your Windows 7 Enterprise Edition X64 DVD to d:\temp\windows7\x64.

 

3. We'll need a working Deploy Windows 7 task sequence to test this with, make sure you have one that is working 100% everytime so that you can test this with it.

 

 

 

Windows SIM actions

 

Windows SIM - select a windows image

 

 

Start Windows SIM and select a windows image. Point it to the sources Directory on the installation source. You can either select the install.wim file directly in the sources folder or use the Catalog file if you have one. For this guide we shall select the install.wim file.

 

wsim_select_windows_image.jpg

 

select a windows image file.jpg

 

Once done, you may get prompted to create a Catalog file, answer Yes. The catalog file contains descriptions of what components and packages the image contains so may take a few minutes to generate. After the Catalog file is created, our Windows Image pane will list some new nodes called Components and Packages and you can expand them to see what lies within.

 

 

Windows SIM - create a new answer file

 

Now that we have our Windows Image loaded, we will want to configure it so in the Answer File pane, right click and choose New Answer File

 

wsim_new_answer_file.jpg

 

Expand the Components node in the Windows image pane, scroll down until you see x86_Microsoft-Windows-International-Core_6.1.7600.16385_neutral right click on it and choose Add setting to Pass 7 oobeSystem.

 

wsim_add_setting_to_pass_7_oobesystem.jpg

 

Fill in the values on the Microsoft-Windows-International-Core Properties node so that it looks as follows:-

 

InputLocale it-IT

SystemLocale it-IT

UILanguage it-IT

UILanguageFallback it-IT

UserLocale it-IT

 

wsim_windows_international_core_properties.jpg

 

Now that we've made our changes, let's verify them so Click on Tools, Validate Answer File and verify that there are no errors reported in the Messages pane. Finally we want to save our Unattend.xml file so click on File, Save Answer File As and call the file IT_unattend.xml

 

you can now close Windows SIM.

 

 

Things to do on the ConfigMgr Server (SCCM)

 

On the ConfigMgr Server Create a folder called Unattend XMLs and place that folder in a network share.

 

Create a sub folder structure as follows:

 

Unattend XMLs

 

-X86

 

--regional and locale settings

 

-X64

 

--regional and locale settings

 

 

copy the IT_unattend.xml file into the Unattend XMLs\X86\regional and locale settings folder

 

 

In the ConfigMgr console, expand Software Distribution and create a New package, call it unattend_locale_and_regional

 

 

this package requires no program but we must point the data source to the share we created above eg:

 

\\SCCM\sources\Unattend XMLs\X86\regional and locale settings

 

unattend_locale_and_regional.jpg

 

 

Once done, Create distribution point(s) for the new package and update the package to the DP's.

 

 

 

 

Adding the unattend.xml settings to our Task Sequence.

 

 

Expand the Operating System Deployment node in ConfigMgr and select our Deploy Windows 7 task sequence. (you can import this one if you wish, but you'll have to edit the four references within it for boot sequence, configmgr client package and so on).

 

deploy_windows_7_with_italian_locale.xml

 

Select the Apply Operating System step and place a checkmark in Use an unattended or sysprep answer file for a custom installation. Browse and select our newly created package above, for the filename type in IT_unattend.xml.

 

edit_task_sequence.jpg

 

Save the Task sequence by applying your changes and advertise it to a collection, do a test deployment of Windows 7 and watch as the keyboard settings are changed to Italian.

 

 

 

If you look in the screenshot below you'll see the IT box in the top left corner, that means we have Italian keyboard support at the Login Screen !

 

it on login screen.jpg

 

and below is what you would see once logged into Windows.

 

IT in windows.jpg

 

 

Note: For a full list of supported language packs and settings see Locale Identifier Constants and Strings

 

Note: #2, if you'd like to configure these settings using Collection Variables, check out this post from Kenny

 

have fun !

 

cheers

 

niall.

Share this post


Link to post
Share on other sites


Great tutorial!

I've followed your guide successfully with several languages: swedish, danish, finish, uk english, swiss german and polish.

But "Location" and "Format" is stuck on United States...

 

Everything else works fine!

Share this post


Link to post
Share on other sites

hi Johan

 

sorry for the delay in replying, have you checked your timezone settings ?

Share this post


Link to post
Share on other sites

hi Johan

 

sorry for the delay in replying, have you checked your timezone settings ?

 

Hi!

Sorry for the delay, has been on vacation

Do you mean in the answerfile or my cs.ini ?

As we are deploying Win7 / XP from several locations around the world, the cs.ini should by by location (gateway), and that way choosing the correct timezone etc... but as far as i know, it's correct.

Do you want me to post something?

Share this post


Link to post
Share on other sites

hi Johan

i meant check what it is set to in your Task Sequence, Apply Windows Settings step, i'm not using cs.ini to configure it so cannot comment

  • Like 1

Share this post


Link to post
Share on other sites

hi Johan

i meant check what it is set to in your Task Sequence, Apply Windows Settings step, i'm not using cs.ini to configure it so cannot comment

 

Well yes, the timezone is set to US & Canada.

But since we deploy in many countries: sweden, norway, denmark, uk, finland, poland and switzerland, the settings are set in cs.ini, depending on the GW the deployment is started.

 

I know that WinXP works in another way than Win7 when it comes to unattended xml's, but in our XP-Task Sequence, the timezone is also set to US & Canada, but that installation works fine!

 

Hope I make some sense here...

Share this post


Link to post
Share on other sites

Does this process still apply if you wish to apply these changes to an already created .WIM image? .. rather than a fresh install.

 

Curious as to why the DVD is mentioned as the source for WSIM

 

Cheers

Share this post


Link to post
Share on other sites

Hi Niall,

 

I have a question. If I specify very detailedly in unattended.xml such as domain join, product key, local user account,..., do I need to enable "Apply Windows Settings" and "Apply Network Settings". In theory, these settings are mentioned in unattended.xml so I think it will be confusing if we aplly one more time in Task Sequence.

 

Can you help me clear this and confim me?

Share this post


Link to post
Share on other sites

you can simply disable both steps in your task sequence and do a test run, maybe you'll find out before me :)

  • Like 1

Share this post


Link to post
Share on other sites

I tried some times before I left a question here.

I did both ways: disble steps and enable steps. TS run very well when I left enabled steps but TS will fail if I disble these steps..

I wanna know the procedure if we declare settings in unattend.xml and enable these settngs in TS. How it run and does it cause conflict?

 

And I have another question. If we modify the settings in unattend.xml, do we need to redistribute in distribution points or re-create package?

Share this post


Link to post
Share on other sites

I tried some times before I left a question here.

I did both ways: disble steps and enable steps. TS run very well when I left enabled steps but TS will fail if I disble these steps..

I wanna know the procedure if we declare settings in unattend.xml and enable these settngs in TS. How it run and does it cause conflict?

 

And I have another question. If we modify the settings in unattend.xml, do we need to redistribute in distribution points or re-create package?

 

How do you deploy the unattended xml file ?

For your second question, no you don't need to redistribute, because you point System Center to the source location of the package and not the file itself so it will use the file you specified in the Apply Operating System step simply from the source location used in the package.

Share this post


Link to post
Share on other sites

What variable name do you use for the <computername>%variable%</computername> section so that SCCM will replace it with the correct information?

Share this post


Link to post
Share on other sites

I have a question I can't get my head around. If I make a wim file of a machine and use sysprep oobe and generalize and an unattended file with the region options set in the specialize pass, the region options default back to en-us when I am logged in as a domain user. However if I add the region options to a seperate unattended file in the oobe pass and select that in the OS deploy task sequence, it saves my language options (English Australian) in any domain user.

 

Any reason why I have to do that?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...