misty Posted January 13, 2018 Posted January 13, 2018 54 minutes ago, JFX said: Anyway, it shouldn't be to hard writing such a tool as a native program. Maybe not for you!!!!! I can't program for toffee! BTW - that would be great if you are offering. I believe that I have also sparked some interest from Erwan.l on the reboot.pro forums. 1
misty Posted January 13, 2018 Posted January 13, 2018 Very quick file extract test. Using following command - java -jar re7zip.jar -t=cab -a=http://download.microsoft.com/download/3/8/B/38BBCA6A-ADC9-4245-BCD8-DAA136F63C8B/adk/Installers/a32918368eba6a062aaaaf73e3618131.cab -e=fil3a96a4ae37b2d6a62b94d42e1126dde0 -o=fil3a96a4ae37b2d6a62b94d42e1126dde0 Some output from the cmd (including time of the extracting/download) - blah blah blah Percentage : 99 Reading 27892006 of 27971974 bytes Percentage : 99 Reading 27924774 of 27971974 bytes Percentage : 99 Reading 27957542 of 27971974 bytes Percentage : 100 Reading 27971974 of 27971974 bytes Done. Downloaded in 0 minutes and 16 seconds. (extracted) File size of fil3a96a4ae37b2d6a62b94d42e1126dde0 = 26.6 MB I haven't checked what this file actually is yet. I'll report back in later. 1
erwanl Posted January 13, 2018 Posted January 13, 2018 Hi Gents, The MS CAB specifications are detailed here : https://msdn.microsoft.com/en-us/library/bb267310.aspx#cfheader . Parsing headers (cfheader, cffolder, cffile, ...) and downloading only the compressed blob of a file looks achievable thus avoiding to have to download the whole CAB. Regards, Erwan 2
JFX Posted January 13, 2018 Author Posted January 13, 2018 (edited) 1 hour ago, misty said: Maybe not for you!!!!! I can't program for toffee! BTW - that would be great if you are offering. I believe that I have also sparked some interest from Erwan.l on the reboot.pro forums. Well, if such a program will be useful I might program one. But there is the problem with compression blocks. java -jar re7zip.jar -t=cab -a=http://download.microsoft.com/download/3/8/B/38BBCA6A-ADC9-4245-BCD8-DAA136F63C8B/adk/Installers/a32918368eba6a062aaaaf73e3618131.cab -e=fil3a96a4ae37b2d6a62b94d42e1126dde0 -o=fil3a96a4ae37b2d6a62b94d42e1126dde0 That file is the first in block 4, so It will be very quick, though not with my internet connection But loading another file in the same block, needs to download all other files in that block before that file. Example java -jar re7zip.jar -t=cab -a=http://download.microsoft.com/download/3/8/B/38BBCA6A-ADC9-4245-BCD8-DAA136F63C8B/adk/Installers/a32918368eba6a062aaaaf73e3618131.cab -e=fil3ae9b0835c65f44ed796fafe895b87c2 -o=fil3ae9b0835c65f44ed796fafe895b87c2 Both needing the same time. Done. Downloaded in 1 minutes and 33 seconds. @erwanl yes getting the information from the cabinets is no big problem, but the decompression is more tricky. Edited January 13, 2018 by JFX
dencorso Posted January 13, 2018 Posted January 13, 2018 @erwanl: Welcome to MSFN! It's great to have you around!
erwanl Posted January 13, 2018 Posted January 13, 2018 (edited) 10 minutes ago, dencorso said: @erwanl: Welcome to MSFN! It's great to have you around! Thanks Dencorso, i have been reading/following this forum for years : great place ! Was about time I contribute Edited January 13, 2018 by erwanl 1
erwanl Posted January 13, 2018 Posted January 13, 2018 (edited) 1 hour ago, JFX said: @erwanl yes getting the information from the cabinets is no big problem, but the decompression is more tricky. Indeed, getting the blob is rather easy but handling decompression will be trickier and this specially since we may encounter different formats : MSZIP, LZX, etc ... If I may help, which langage are you using for GWT? (I am a delphi/FPC dev). Edited January 13, 2018 by erwanl
JFX Posted January 14, 2018 Author Posted January 14, 2018 GWT is written in PureBasic, but it only uses WinAPI for everything to be so small.
misty Posted January 14, 2018 Posted January 14, 2018 15 hours ago, JFX said: Well, if such a program will be useful I might program one. I think that such a program would be useful, although probably not to a large number of people. It's a specialist tool and in the days where many have relatively fast internet connections and unlimited bandwidth most users will probably just download the whole file for convenience. 15 hours ago, JFX said: That file is the first in block 4, so It will be very quick, though not with my internet connection A good user case! 15 hours ago, JFX said: But there is the problem with compression blocks. java -jar re7zip.jar -t=cab -a=http://download.microsoft.com/download/3/8/B/38BBCA6A-ADC9-4245-BCD8-DAA136F63C8B/adk/Installers/a32918368eba6a062aaaaf73e3618131.cab -e=fil3a96a4ae37b2d6a62b94d42e1126dde0 -o=fil3a96a4ae37b2d6a62b94d42e1126dde0 That file is the first in block 4, so It will be very quick, though not with my internet connection But loading another file in the same block, needs to download all other files in that block before that file. I am not familiar with compression blocks - how much additional data are we talking about here to download the needed file? Misty
JFX Posted January 14, 2018 Author Posted January 14, 2018 28 MB additional download is needed for this 1 KB file.
misty Posted January 14, 2018 Posted January 14, 2018 24 minutes ago, JFX said: 28 MB additional download is needed for this 1 KB file. Ah. Now that's not so good! Is it likely that this downloading of unneeded data could be avoided if a native tool was developed? Or the functionality added to GWT?
JFX Posted January 14, 2018 Author Posted January 14, 2018 As for these cab files with solid compression, no there won't be much saving.
misty Posted January 18, 2018 Posted January 18, 2018 @JFX - are older version of GWT available for download. The current version appear hardcoded to download the Windows 10.0.16299 version of DISM and dependencies. Whilst the need is not widespread, there may be some instances where it would be useful to download other Windows 10 versions. I believe that these may be coded into some of the previous GWT releases? Misty
Atari800XL Posted January 18, 2018 Posted January 18, 2018 (edited) I recently wondered the same... :-) (it's a small world) I know you don't like the "buggy as hell" 16299, JFX uses wimagapi from 15063 in his great WinNTSetup (I use imagex.exe from that version as well for UUP direct apply). See here: https://1drv.ms/u/s!AnNmc1rU9VMAhGfaGtiigOc0BUlV Edited January 18, 2018 by Atari800XL 1
misty Posted January 18, 2018 Posted January 18, 2018 7 minutes ago, Atari800XL said: I know you don't like the "buggy as hell" 16299 Whilst some versions might be better than others, I don't really like any of them as they all seem to give mixed result and random partially unmounted wims. I miss the old imagex.exe from Vista days - it was great fun playing around with it back then. That version may also have been buggy as hell too - I haven't used it for years. These days I'm more inclined (storage space permitting) to use wimlib to apply an entire boot.wim rather than running mount and unmounts operations. Depending on the size of boot.wim and the system hardware it doesn't feel like it takes much longer. Only time I need to do this is when applying a package. If only some genius could trace which minimum set of files need extracting from boot.wim so that DISM can be used to successfully apply a package to this smaller file set - without the need to fully apply the contents of boot.wim. And entirely removing the need to mount the image. Misty
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now