Wednesday, 15 August 2012

Extract Imagex from WAIK (Windows Automted Installation Kit) without downloading the complete ISO

imagex is a component of Windows Automated Installation Kit (WAIK) which is required to customize windows installation images as in this post which explains creation of Windows 7 installation disk containing all versions of x86 and x64 architectures.

If you compare the size of imagex(about 500KB) to the size of WAIK(about 1.7GB!) It feels quit stupid to download the entire ISO for just that file. Also the download is not enough to get imagex.exe since WAIK contains setup file which must be installed to get imagex. So the overheads are Huge and hence in this blog I present a method to download just the minimum set of required files to run imagex.

software required:
  • HTTPDisk (can be downloaded from http://www.acc.umu.se/~bosse/ , just explore this site -contains lots of  "Awesome stuff"). What this software does is basically mounts a remote ISO i.e. an ISO file that is accessed over HTTP.
  • 7zip
Installation of HTTPDisk: It sure is an awesome software but it lacks enough documentation and community help i.e. if you run into some error then well, you are alone!

It took me quite a few hours to get it work. Initially I was trying to make it work on Win8 CP (x64)
but unfortunately I wasn't able to do that(I guess it is because I copied the 64bit driver in system32, I think I should have copied it in SySWOW64 instaed). however  in Windows 7 x32 it worked easily.
Do read the install.txt before following my steps.

For installing it on Win7 first I copied the httpdisk.sys file from "httpdisk-7 (1)\httpdisk-7\sys\obj\fre\i386" directory to system32\Drivers folder. Then I imported the httpdisk.reg file to registry and rebooted my system. After reboot I tried mounting the iso but it didn't work so I had to reboot again. After the second reboot the software worked just as expected.

To mount WAIK for win7 directly from Microsoft's Servers I used the following command:
  • httpdisk /mount 1 http://download.microsoft.com/download/8/E/9/8E9BBC64-E6F8-457C-9B8D-F6C9A16E6D6A/KB3AIK_EN.iso /cd l:
IMP.: In my case the number written after /mount switch is 1 as I had already mounted another iso and may be different depending on the number of iso files mounted. for none mounted before it would be 0.

    Now open the drive in which the iso was mounted, L in my case.

       The imagex file is present neutral.cab file in the iso (l:\neutral.cab).

    Open neutral.cab with 7z (right-click-open . do not download, it's a 500mb file !).
    The files F1_imagex, F2_imagex and F3_imagex  contain imagex.exe  for x32,IA64 and x64 architectures respectively , extract the required file to hard drive using 7zip's copy to dialogue and rename it to imagex.exe.

    This method can be used in all such scenarios where only a part of iso is required for example an iso containing  setup files for all architectures(x86,x64,IA64).