Deployment Solution

 View Only

It's All About Sysprep, Part 3 

Jul 06, 2009 04:25 PM

Many of us are using Vmware to run Virtual machines. Now that VMware is more often used to run our Virtual desktops on many administrators struggling with Sysprep. Especially those administrators who started working with Vmware ESX 2.

In VMware ESX 2 you built your Sysprep files, placed them in the correct location and then we generated a Sysprep\i386\$oem$ directory.

After upgrading to VMware ESX 3 and higher this folder was no longer used.

In version 3.5 VMware located the files inside the database as an xml sheet that copied the correct files to the correct location.

And that was where the troubles started.

Many of us are using Nlite or Vlite for building clean computers.

When you use this and you Sysprep a image built this way you often get errors while running Sysprep because files cannot be found. Most of these missing files are fonts.

In Sysprep you get an error message most of all because c_20127.nls file not being found. If you then browse to c:\windows\system32 you see that the file is there. And still it cannot be found. This behaviour is because during Sysprep Windows does not load path variables and is simply not aware of the fact that there are more files on the system.

So after all the traditional Sysprep can not be used under VMware.

It can be easily solved.

Create a new Sysprep file under VMware and select the option: Use custom Sysprep file.

Then copy and paste the text below: NOTE: Change everything that is bold into the values for your environment. Remove the recursive text as it is just added as an explanation.

;SetupMgrTag
[Unattended]
OemSkipEula=Yes
InstallFilesPath=c:\windows\system32\i386
;I checked all the missing files and located them under the path c:\windows\system32\i386 it is some work but it is worth it.
[GuiUnattended]
AdminPassword="password"
EncryptedAdminPassword=NO
OEMSkipRegional=1
TimeZone=105
OemSkipWelcome=1

[UserData]
ProductKey=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
FullName="username" OrgName="Company" ComputerName=* ; computername is *. this will autogenerate a computername that is separated into the first 9 values of the domain or workgroup and then 6 to 7 characters [Display] BitsPerPel=16 Xresolution=1280 YResolution=1024 Vrefresh=60 [TapiLocation] CountryCode=31
[SetupMgr] DistFolder=c:\windows\system32\i386 ;I changed this path also to the newly folder DistShare=windist [Identification] JoinWorkgroup=workgroup
[Networking] InstallDefaultComponents=Yes

You should think "Why not give the path to c:\windows\system32 and leave that?" I thought that myself, but I was so wrong.

The strange thing is that Vmware parses that value from the xml sheet inside the database. You will end up where VMware looks inside c:\Sysprep\i386.

Now you are able to Sysprep all your computers.

Next step is to make sure you have the correct Sysprep files.

In Vmware ESx the Sysprep files are located under:
c:\program files\ vmware\virtual infrastructure\resources\windows

There you need to have several directories named

  • 1.1
  • WinXP
  • WinXP64
  • Win2003
  • Win200364

Here is the procedure:

  1. Download the Sysprep package.

    www.microsoft.com/windows2000/downloads/tools/Sysprep/default.asp

    Though the Sysprep version indicates Windows 2000, it works with both Windows XP Professional and Windows Server 2003.

  2. Click Next to continue. Click I agree to accept the terms and conditions. Click download. Save the file to your local disk.
  3. Run the Microsoft installer.

    Q257813_w2k_spl_x86_en.exe

  4. Extract the files to the provided directory.

    Sysprep support directories were created during VirtualCenter installation:

    C:\[VirtualCenter_installation_directory]\resources\windows\Sysprep\

    ...\resources\windows\Sysprep\1.1\
    ...\resources\windows\Sysprep\2k\
    ...\resources\windows\Sysprep\xp\
    ...\resources\windows\Sysprep\svr2003\

    Select the 1.1 subdirectory.

  5. Click OK to expand the files.

After you have extracted the files from Q257813_w2k_spl_x86_en.exe to the \1.1 directory, you should see:

...\resources\windows\Sysprep\1.1\docs\
...\resources\windows\Sysprep\1.1\samples\
...\resources\windows\Sysprep\1.1\tools\
...\resources\windows\Sysprep\1.1\contents.txt

  1. Insert the Windows OS CD into the CD-ROM, for example, D: drive.
  2. Locate the DEPLOY.CAB file in the CD directory, \Support\Tools.
  3. Open and expand the DEPLOY.CAB file, using a tool such as Winzip.exe or another tool capable of reading Microsoft CAB files.
  4. Extract the files to the provided directory appropriate to your Sysprep guest operating system.

    Sysprep support directories were created during VirtualCenter installation:

    C:\[VirtualCenter_installation_directory]\resources\windows\Sysprep\

    ...\resources\windows\Sysprep\1.1\
    ...\resources\windows\Sysprep\2k\
    ...\resources\windows\Sysprep\xp\
    ...\resources\windows\Sysprep\svr2003\

    Select the subdirectory that corresponds to your operating system.

  5. Click OK to expand the files.

    After you have extracted the files from DEPLOY.CAB, you should see:

    ...\resources\windows\Sysprep\<guest>\deptool.chm
    ...\resources\windows\Sysprep\<guest>\readme.txt
    ...\resources\windows\Sysprep\<guest>\setupcl.exe
    ...\resources\windows\Sysprep\<guest>\setupmgr.exe
    ...\resources\windows\Sysprep\<guest>\setupmgx.dll
    ...\resources\windows\Sysprep\<guest>\Sysprep.exe
    ...\resources\windows\Sysprep\<guest>\unattend.doc

    where <guest> is either 2k, xp, or svr2003.

  6. Repeat this procedure to extract Sysprep files for each of the Windows guest operating system (Windows 2000, Windows XP, or Windows 2003) you plan to customize using Virtual Center

When you want to do this procedure in VMware 4 or Vsphere, then you will get an error: The necessary Sysprep files can not be found.

In Vsphere VMware decided to change the location to a complete different path.

You have to follow the procedure and copy the files to:
c:\documents and settings\all users\application data\VMware\Vmware VirtualCenter\Sysprep

Now you are ready to deploy hundreds of images from one single instance.

Read Part 2 of the article here: It's All About Sysprep, Part 2

Statistics
0 Favorited
0 Views
0 Files
0 Shares
0 Downloads

Tags and Keywords

Comments

Apr 20, 2011 08:24 AM

I'm not sure if you can help with this but I am exploring all avenues at the moment as this issue has been going on for a while and I'm unable to find an answer.

I am using nLite 1.4.9.1 to create Windows XP discs with Service Pack 3 and SATA drivers injected.  I then use Sysprep to create an image and use mini setup and reseal before uploading to the WDS server.  

When creating the image it is fine but then when you try to deploy that image back out onto other machines you always get an error about missing files.  If you put the nLite XP CD in and point it to D:\i386 it finds the files and continues and the image works fine but this obviously defeats the object of creating an image.  The error I get is:

"the file 'c_20127.nls' on windows xp professional cd-rom is needed"

I feel what you have described her is maybe along the right lines but I am unable to get it to work still, any help would be much appreciated.

Related Entries and Links

No Related Resource entered.