Thursday, March 19, 2009

Bought a Samsung Omnia i900 mobile phone.

Well everyone I finally decided to upgrade my 3 or so year old Sony Ericson K750i phone. I looked at many phones but decided on this one for a number of reasons. The main ones was the fact it runs Windows Mobile 6.1 and it runs it quite fast. It also has a nice 5MP Camera that takes some pretty decent pictures. Good enough for everyday use. It has  Wi-Fi. It comes with Office Mobile. It has GPS and you can download Google Maps for free and use it for navigation. It can connect to a VPN and you can remote desktop into PC’s with it.

I only got the phone on Saturday but have already used  it in the following ways:

  • Reading emails and opening word documents as I’m applying for jobs at the moment.
  • Posting a status update on Facebook when I got stuck in traffic.
  • Chatting on MSN Messenger to organize meeting up with friends.
  • Taking pictures of someone getting arrested by police.
  • Creating appointments in the calendar and tasks and syncing them up to Outlook
  • Syncing my contacts between my phone, msn and email.

In the future I can see myself using it in the following ways:

  • Using GPS and Google Maps for when I get lost in the city looking for a nightclub.
  • Using it for internet access for my laptop while I’m not at home.
  • Checking out movie times and other assorted info.

I have upgraded the firmware to the latest version but had hex edit  a file and change some phone settings. I will post a guide hopefully on the weekend if I get time.
I have also changed the theme from the default one to the normal Windows Mobile one so that I can see things such as appointments, tasks, notifications, emails on the “Today” screen. The first picture is a screenshot of what my phone looks like now. The second picture is of the default theme.

imageimageimageimage

Saturday, March 7, 2009

How to create a hardware independent sysprepped WIM image of Windows XP for deployment from Windows Deployment Services


In this post I will provide a step-by-step guide on how to create a hardware independent sysprepped WIM image of Windows XP for deployment from Windows Deployment Services.  This guide is still a draft as there are a few small changes that should be made to it as noted throughout the document with links to the bottom of the post. I have tested this guide on multiple series of HP business desktops and laptops and an old Toshiba laptop without too much trouble. Please feel free to comment on this guide as I will update it with changes as required.

1. Install Windows XP SP3 (Do not join domain).

2. Install VMware Tools.

3. Create Snapshot. Go to VM > Snapshot > Take Snapshot.

4. Setup Shared Folders. Go to VM > Settings.

0000

5. Go to Options > Select Always enabled then Click Add.

0003

6. Click Next in the Add Shared Folder Wizard.

0004

7. Click on the Browse button and select the drive you want access to then click OK.

0006

8. Click Next.

0007  

9. Click Finish.

0008  

10. Click OK.

0009  

11. Open Windows Explorer and browse to D:\SUPPORT\TOOLS (where D: is your CD/DVD drive letter).WXPP-2008-09-26-22-49-49

12. Open Deploy.cab and select all files then right click and Extract to C:\Sysprep (where C: is your system drive letter).

WXPP-2008-09-26-22-52-41 

WXPP-2008-09-26-22-54-32 

13. Open setupmgr.exe then Click Next.

WXPP-2008-09-26-22-57-22 

14. Click Next.

WXPP-2008-09-26-22-59-13 

15. Select Sysprep setup.

WXPP-2008-09-26-22-59-52

16. Click Next.

WXPP-2008-09-26-23-00-15

17. Select Yes, fully automate the installation.

WXPP-2008-09-26-23-01-24

18. Enter Name and Organization details then Click Next.

WXPP-2008-09-26-23-02-52

19. Click Next.

WXPP-2008-09-26-23-03-46

20. Select Time zone then click Next.

WXPP-2008-09-26-23-04-16

21. Enter Product Key then click Next (Product Key has been hidden in screen shot).

WXPP-2008-09-26-23-06-27

22. Click Next.

WXPP-2008-09-26-23-09-08

23. Enter Administrator password then click Next.

WXPP-2008-09-26-23-10-35 

24. Click Next.

WXPP-2008-09-26-23-11-55

25. Select Domain, Enter Domain name, Check Create a computer account in the domain, Enter User name and Password for a User Account which has been delegated the right to join computers to domain with the restriction of joining 10 computers disabled. Click Next.

WXPP-2008-09-26-23-16-12 

26. Click Next.

WXPP-2008-09-26-23-18-39

27. Click Next.

WXPP-2008-09-26-23-20-23

28. Select Languages you want to support then click Next.

WXPP-2008-09-26-23-21-54

29. Click Next.

WXPP-2008-09-26-23-22-54 

30. Add any commands that you want to run the first time a user logs on then click Next.

WXPP-2008-09-26-23-25-58 

31. Add any commands that you want to run at the end of unattended Setup such as a batch/script file to install/update software.

WXPP-2008-09-26-23-28-17 

32. Enter an Identification String such as the current date/revision number to help identify this Sysprep image to help in identifying which Sysprep image is installed on a particular computer in the future then click Finish.

 WXPP-2008-09-26-23-32-49

33. Click OK, Wait a few moments and then Go to File > Exit.

WXPP-2008-09-26-23-33-38

34. Open Sysprep.inf and check that it looks correct (Sensitive data has been hidden).

WXPP-2008-09-26-23-38-32

35. Change/Add any lines in Bold to your Sysprep.inf.

;SetupMgrTag
[Unattended]
OemSkipEula=Yes
InstallFilesPath="C:\WINDOWS\Driver Cache\i386"
DriverSigningPolicy=Ignore
UpdateInstalledDrivers=Yes

[GuiUnattended]
AdminPassword="********"
EncryptedAdminPassword=NO
OEMSkipRegional=1
OEMDuplicatorstring=26/09/2008
TimeZone=260
OemSkipWelcome=1

[UserData]
ProductKey=*****-*****-*****-*****-*****
FullName="ALS"
OrgName="Australian Laboratory Services Ptd Ltd"
ComputerName=*

[RegionalSettings]
LanguageGroup=11,1

[SetupMgr]
DistFolder="C:\WINDOWS\Driver Cache\i386"
DistShare=windist

[Identification]
JoinDomain=DOMAIN
DomainAdmin=JOINDOMAIN
DomainAdminPassword=********

[Networking]
InstallDefaultComponents=Yes

- OemSkipEula=Yes - Skips EULA
- DriverSigningPolicy=Ignore - Don't prompt when installing drivers
- UpdateInstalledDrivers=Yes - Reinstall all present drivers when mini-setup starts. Very important.

In order to successfully make this setup work on any system configuration, you will have to use UpdateInstalledDrivers=Yes, which will clean the entire Device Manager, except non-PnP and HAL.

This will ensure that all VMware drivers are removed and your setup will install the proper drivers for the system it is being executed on.

36. Browse to C:\Windows\ (where C:\Windows is where Windows was installed to) and right click on the Driver Cache folder in the left pane and select Properties, click Advanced, Check Compress contents to save disk space, click Ok, click OK then Click Ok again.

WXPP-2008-09-27-00-40-49

37. Browse to \\.host\Shared Folders\<Path to Drivers> (where <Path to Drivers> is the path to your folder of drivers. I’ve used the drivers I’ve imported into Microsoft Deployment Toolkit 2008 while creating an Lite Touch Installtion DVD. 

WXPP-2008-09-26-23-52-48

38. Copy and paste those folders to C:\Windows\Driver Cache (where C:\Windows is where Windows was installed to).

WXPP-2008-09-27-00-37-38 

39. Download the latest version of Sysprep Driver Scanner from http://www.vernalex.com/tools/spdrvscn/ or copy it from the zip file.

40. Copy and paste spdrvscn.exe to C:\Sysprep on the Virtual Machine and open.

WXPP-2008-09-27-08-04-28

41. Change Search Path to C:\Windows\Driver Cache and press Scan, Press OK to Prompt.

WXPP-2008-09-27-08-07-36

42. Press Default and Press OK to Prompt.

WXPP-2008-09-27-08-08-37

43. Press Save and click OK to Prompt.

WXPP-2008-09-27-08-10-00  

44. Click Done and OK to Prompt.

WXPP-2008-09-27-08-10-40

45. Open Sysprep.inf and add [SysprepMassStorage] to the end of the file.

46. Open a Command Prompt and type cd C:\Sysprep then type sysprep –bmsd and hit Enter.

WXPP-2008-09-27-08-16-02 

Here's a sample of what my result was:

pci\ven_1011&dev_0046&subsys_13649005=c:\windows\inf\pnpscsi.inf
pci\ven_1028&dev_0001&subsys_00011028=c:\windows\inf\pnpscsi.inf
pci\ven_1028&dev_0002&subsys_00d11028=c:\windows\inf\pnpscsi.inf
pci\ven_1028&dev_0002&subsys_00d91028=c:\windows\inf\pnpscsi.inf
pci\ven_1028&dev_0002&subsys_00021028=c:\windows\inf\pnpscsi.inf
pci\ven_1028&dev_0003&subsys_00031028=c:\windows\inf\pnpscsi.inf
pci\ven_9005&dev_00c5&subsys_00c51028=c:\windows\inf\pnpscsi.inf
pcmcia\ibm-pcmcia_portable_cd-rom_drive-84e3=c:\windows\inf\pnpscsi.inf
pcmcia\ibm-pcmcia_cd-rom_drive_cd-400-5afa=c:\windows\inf\pnpscsi.inf
pcmcia\ibm-pcmcia_portable_cd-rom_drive-84e2=c:\windows\inf\pnpscsi.inf
pcmcia\pcmcia-ide_card-3220=c:\windows\inf\pnpscsi.inf
pci\ven_13e6&dev_3603&subsys_00461014=c:\windows\inf\pnpscsi.inf
pcmcia\pcmcia-pnpide-4522=c:\windows\inf\pnpscsi.inf
pcmcia\pcmcia-pnpide-7b72=c:\windows\inf\pnpscsi.inf

As you can see, there are a lot of entries in the section. These are plug and play identifiers for mass storage drivers and their location. If it didn't insert any, your device path is invalid and you forgot to add the \WINDOWS\Inf path to the Sysprep Driver Scanner. Check it in HKLM\Software\Microsoft\Windows\CurrentVersion\DevicePath. Note that Sysprep takes ~1 second to add each entry.

47. Download MySysprep from http://www.tsaysoft.com/mysysprep/ and Extract files to C:\Sysprep in your virtual machine.

WXPP-2008-09-27-10-10-00 

48. Open MySysprep.inf and delete the ; under the [CPU] section then close and save.

WXPP-2008-09-27-10-12-03 

49. Create another Snapshot by going to VM > Snapshot > Take Snapshot. Name it 2 – Before Hal Switch.

50. Go to Start, Right click on My Computer and select Manage. Click on Device Manager, Expand Computer, Right Click on the item underneath (ACPI Uniprocessor PC), Click Update Driver.

WXPP-2008-09-27-10-18-12 

51. Select No, not this time then click Next.

WXPP-2008-09-27-10-20-57 

52. Select Install from a list or specific location (Advanced) then click Next.

WXPP-2008-09-27-10-22-15

53. Select Don’t search. I will choose the driver to install.

WXPP-2008-09-27-10-23-10

54. Select Advanced Configuration and Power Interface (ACPI) PC from the list and click Next.

WXPP-2008-09-27-10-26-14

55. Click Finish.

WXPP-2008-09-27-10-29-29 

56. Click Yes to the Prompt.

WXPP-2008-09-27-10-30-32 

57. Once restarted click Yes to the Prompt.

58. Shutdown the Virtual Machine. Once Shutdown go to VM > Settings then click on Hard Disk (IDE) then click on Utilities and then on Map…

0010

59. Uncheck Open drive in Windows Explorer after mapping then click OK.

0011

60. Open Windows PE Tools Command Prompt from your start menu by going to Start > Programs > Microsoft Windows AIK > Windows PE Tools Command Prompt.

61. Type in imagex /compress max /capture V: D:\Temp\Windows_XP_SP3.wim “Windows XP SP3 – 1 – Before Sysprep” where V: is the mapped virtual machine’s hard drive and D:\Temp\Windows XP Image.wim is the path and file name you want to save the image then hit Enter.

0013  0014 0016  

62. Once completed Open VMware Workstation and go to VM > Settings. Select Hard Disk (IDE), Click on Utilies then click Disconnect.

0017

63. Click Ok and start the virtual machine by pressing the play button up the top.

64. [T2] Install any software and configure any settings you require for your build.

65. Configure Internet Explorer’s Home page by opening the Control Panel, Clicking Switch to Classic View then opening Internet Options. Type in the address you want in the Address: text box and then click OK.

WXPP-2008-09-27-13-34-09 

66. Open Regional and Language Options. Configure the Regional Options tab as required.

WXPP-2008-09-27-13-36-04 

67. Open the Languages tab. Check Install files for complex script and right-to-left languages (including Thai). Click OK to Prompt. Click OK again. If prompted for files insert/load the Windows XP SP3 setup cd.

WXPP-2008-09-27-13-38-41

68. Click Yes to prompt[T3] .

WXPP-2008-09-27-13-40-58

69. Create another Snapshot by going to VM > Snapshot > Take Snapshot and name it 3 - Before Sysprep.

70. Browse to C:\Sysprep and open mysysprep.exe and click OK to prompt.

WXPP-2008-09-27-14-39-37

71. Check Use Mini-Setup and then click Reseal.

WXPP-2008-09-27-14-40-01 

72. Click OK to prompt.

WXPP-2008-09-27-14-41-08 

73. Wait for the virtual machine to shutdown.

WXPP-2008-09-27-14-41-42 

74. Map virtual machine hard drive for imaging. Go to VM > Settings, Click on Hard Disk (IDE), Click on Utilities then click Map…

0018  

75. Click OK then click OK again.

0019  

76. Open Windows PE Tools Command Prompt from your start menu by going to Start > Programs > Microsoft Windows AIK > Windows PE Tools Command Prompt.

77. Type in imagex /compress max /capture V: D:\Temp\Windows_XP_SP3.wim “Windows XP SP3 – 2 – Before Sysprep 2[T4] ” where V: is the mapped virtual machine’s hard drive and D:\Temp\Windows XP Image.wim is the path and file name you want to save the image then hit Enter. [T5]

0020 0021

0022  

78. PXE Boot from network from WDS server to Capture Image. Hit F12 when booting to netwook boot.

WXPP-2008-09-27-17-47-54

79. Select Capture Windows XP Image and hit Enter.

WXPP-2008-09-27-17-50-29 

80. Wait for Windows PE to load.

WXPP-2008-09-27-17-50-40

81. Click Next.

WXPP-2008-09-27-17-52-17 

82. Select C:\ as the volume to capture and enter Windows XP SP3 for Image Name: and Image Description:

WXPP-2008-09-27-17-52-41 

83. Click Browse, Type Windows XP SP3 for the File name and click Save.[T6] [T7]

WXPP-2008-09-27-18-30-32 WXPP-2008-09-27-18-31-35

84. Click Finish.

85. Wait for the Image to finish capturing.

WXPP-2008-09-27-18-33-54 

86. Click Close once complete.

WXPP-2008-09-27-19-11-47


[T2]Skip steps since capture to WDS server works now by adding NIC drivers to capture boot image.

[T3]Edited Sysprep.inf to prompt for Regional and Language Options. Have to redo documentation.

[T4]Before Sysprep??!! Should be after Sysprep!!

[T5]Skip steps since capture to WDS server works now by adding NIC drivers to capture boot image.

[T6]Missed screenshot

[T7]Skip step and redo uploading image directly to WDS server