Jump to content

Get WAIK Tools w/o downloading the huge ISO's


JFX

Recommended Posts

W2k3_SETUPLDR_SP2_to_SP1.xdelta3Most of us don't really need/use the WAIK to build our custom WinPE's.

So there were always a problem to get the few tools like wimgapi, imagex or the WIM filter drivers.

Attempts were made to use httpdisk to download files from inside the WAIK iso,
but it was not a good solution as you still need to load hundreds of MB and it requires to install an unsigned driver.
You even had to set your x64 Windows in testmode ...


But now we came with a good solution:

Our tool uses cURL winhttp functions provided by Homes32 to download only the needed bytes for the hugh WAIK ISO's.
There is no need for admin rights and you only need to download 4-6 MB per choosen WAIK.

For command line: GetWaikTools -?

cheers.gif

 

 

 

 

W2k3_SETUPLDR_SP2_to_SP1.xdelta3

 

 

 

GetWaikTools.zip

Edited by JFX
Link to comment
Share on other sites


Not a bad solution, and an entirely legit one too (it downloads only the "useful" part of download.microsoft.com/download/8/E/9/8E9BBC64-E6F8-457C-9B8D-F6C9A16E6D6A/KB3AIK_EN.iso basically e.g. bytes 129740800 to 136032256 for the Win7 version).

Link to comment
Share on other sites

Not a bad solution, and an entirely legit one too (it downloads only the "useful" part of download.microsoft.com/download/8/E/9/8E9BBC64-E6F8-457C-9B8D-F6C9A16E6D6A/KB3AIK_EN.iso basically e.g. bytes 129740800 to 136032256 for the Win7 version).

Not really, as it distributes Curl without the required COPYING text:

COPYRIGHT AND PERMISSION NOTICE

Copyright © 1996 - 2012, Daniel Stenberg, <daniel@haxx.se>.

All rights reserved.

Permission to use, copy, modify, and distribute this software for any purpose

with or without fee is hereby granted, provided that the above copyright

notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN

NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,

DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR

OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE

OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of a copyright holder shall not

be used in advertising or otherwise to promote the sale, use or other dealings

in this Software without prior written authorization of the copyright holder.

but this is easily correctable :).

I am much more puzzled by the fact that his nice :thumbup: idea has been implemented as a 650 kb .exe that seemingly does the same as chosing between a set of three one liners similar to this:

curl.exe <some options> <some http address>

and a few "bells and whistles" around them.

Maybe, it would be nice if the <some options> were explicited and the same approach could be re-used easily for other tools/files, etc.

In a first test after having a nice looking green progress bar across the screen showing the download progress, I got "Checksum mismatch" and no files were downloaded (actually they were most probably downloaded but immediately deleted).

Is there any particular trick involved in using the thingy or it only works if you run Vista :ph34r: or later, or what?

jaclaz

Link to comment
Share on other sites

but this is easily correctable :).

Done.

I am much more puzzled by the fact that his nice :thumbup: idea has been implemented as a 650 kb .exe that seemingly does the same as chosing between a set of three one liners similar to this:

curl.exe <some options> <some http address>

and a few "bells and whistles" around them.

Maybe, it would be nice if the <some options> were explicited and the same approach could be re-used easily for other tools/files, etc.

In a first test after having a nice looking green progress bar across the screen showing the download progress, I got "Checksum mismatch" and no files were downloaded (actually they were most probably downloaded but immediately deleted).

Is there any particular trick involved in using the thingy or it only works if you run Vista :ph34r: or later, or what?

Hmm, I don't think that a 650 KB exe is big, but seriously your right the actual download is not more than that:

curl -N -r 129740800-136032256 http://download.microsoft.com/download/8/E/9/8E9BBC64-E6F8-457C-9B8D-F6C9A16E6D6A/KB3AIK_EN.iso -o"Neutral.cab"

129740800 - 136032256 is the begin and end offset to download, easily to get with an good HexEditor

The 500+ lines au3 code is used to decompress the broken cab file, rename and sort the files according their architecture.

To avoid corrupt downloads, all files are hashed in the end.

Should work now in WinXP, too

cheers.gif

Edited by JFX
Link to comment
Share on other sites

Should work now in WinXP, too

Confirmed working on XP too. :thumbup:

What I intended was something slightly different than having the actually used command line (but thanks anyway for that :)), I was hinting how, using the same "codebase" we could have a more "generalistic" approach, i.e. something that could accept user parameters for *other* files and *other* .iso's.

As a side note (and not actually specifically needed for this) one of my semi-random thoughts :ph34r::

Could we get the "initial" part of *any* .iso and analyze it with isoinfo or a similar tool (to get a specific file address/offset/etc.)?

In other words this nice app is "very vertical" (UNlike the httpdisk approach that can potentially get *anything* from *any* .iso), you analyzed a set of specific "full" downloads and created this thingy that is able to replicate the very specific "relevant" part.

Maybe something more "wide scoped" could be of use....

As an only seemingly UNrelated example, see how a little, very specific tool/approach was later made into a more "general" approach:

http://www.911cd.net/forums//index.php?showtopic=16745

jaclaz

Link to comment
Share on other sites

Thanks guy, good to hear it works!

Could we get the "initial" part of *any* .iso and analyze it with isoinfo or a similar tool (to get a specific file address/offset/etc.)?

Well it would properly be possible, but would need an CDFS expert to know how much form the beginning of the ISO is needed.

If one of these ISO-tools receive the absolute/relative offset and filesize it could be passed to cURL.

cheers.gif

Edited by JFX
Link to comment
Share on other sites

Well it would properly be possible, but would need an CDFS expert to know how much form the beginning of the ISO is needed.

It's not that easy, but the "theory of operation" is not particularly complex, some parsing is needed, biut it shouldn't be that bad.

I don't want to hijack (too much) this thread, I will PM you some data.

jaclaz

Link to comment
Share on other sites

BTW: its possible to do download a byte range in autoit without using cURL

working for me.

Full code attached.

Thanks again! Great idea!

Homes32

Edit: modified to fix download limited to first 8KB

Edit: modified again to include a crude example of how progress information can be obtained.

Edit: yet again. Made the progress example not suck as much! :)

Edit: 5/31/12 - Fixes for reading download stream.

GetHTTP.rar

Edited by Homes32
Link to comment
Share on other sites

BTW: its possible to do download a byte range in autoit without using cURL

hi Homes32,

I don't want to hijack (too much) this thread

And this NICE tool. You can perhaps use the BBCode

for your au3 code.

I did not use cURL before, it seems very complete and powerful :)

cheers.gif

Link to comment
Share on other sites

Thanks Homes32,

it seems to work, but I only receive the first 8KB of Neutral.cab.

And then get: "This handle value has been terminated."

cheers.gif

Edited by JFX
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...