Menu

#1617 Not all files are extracted from installer archive

open
nobody
None
5
2017-03-24
2016-02-01
No

This installer archive is 585Mb, but 7z finds only 13Mb of files inside of it:
https://download.qt.io/archive/qt/5.5/5.5.0/qt-opensource-windows-x86-msvc2010-5.5.0.exe
Is it possible to do something about it?

Discussion

  • Igor Pavlov

    Igor Pavlov - 2016-02-02

    It uses some format that is not supported by 7-zip.
    You can open that file archive so:
    1) 7-Zip / Open Archive ... / *
    2) extract [0] file
    3) open [0] file in Parser mode: 7-Zip / Open Archive ... / #

     
  • anatoly techtonik

    Is it possible to do this from comamnd line tool on Linux? Or from Far Manager? Far doesn't show [0] file in directory listing.

     
  • Igor Pavlov

    Igor Pavlov - 2016-02-02
    7z x a.exe -t*
    7z x [0] -t#
    
     
  • Vladimir Surguchev

    Far shows [0] and allows to extract it (arclite -> Open (format Menu) -> PE ...).
    But it hasn't Parser mode to extract nested archives.

     
  • VictorVG

    VictorVG - 2016-02-02

    It qt.digia.com installer for which there is no decompressor. So what? Are not they the first is not the past that they have fun. It is sometimes worth a little, well, just think a little - just not to sit down with a flourish in a puddle. I often meet such files - allied to the work of love to cover their regular failures like "methods of protection of intellectual property." Why, a pain in the bag will out. :) And then people have their reasons, but that is no reason for a mindless scribbling. Commercials in the world is no paper is not enough. :)

     
  • anatoly techtonik

    Ok, I thought it is not a custom installer, but a standardone. But if all Qt installers, like QGIS one are made using that tool, it may worth to add it.

     

    Last edit: anatoly techtonik 2016-02-05
  • anatoly techtonik

    When I open [0] file 7z shows only 13 Mb of files out of 569 Mb.

     
  • Igor Pavlov

    Igor Pavlov - 2016-02-08

    Yes, you need to open it in parser mode. Read my messages above.

     
  • anatoly techtonik

    Now I see. There are exactly 99 files, half of them are .7z and the other half looks like index and checksum data.

    Interesting that Qt uses 7zip itself. qres signature at the start of [0] suggests that this is just a wrapper format, but I have found a description for it yet.

     
  • anatoly techtonik

    It rcc format - or Qt binary resource file - and here is the description http://doc.qt.io/qt-5/resources.html Is it possible to add support for it?

     
  • Igor Pavlov

    Igor Pavlov - 2016-02-08

    If it's used only by "qt", maybe it's not so popular.
    I include the code for new format to 7-zip, if I think that format is popular.

    You can write external plugin for 7-zip (dll), if you need that format.

     

    Last edit: Igor Pavlov 2016-02-08
  • anatoly techtonik

    Qt is a framework, so my guess is that this format is used by all Qt applications that need to bundle resources into one file.

     
  • Robert Pancoast

    Robert Pancoast - 2017-01-03

    Greetings,

    Is there any way to hardcode this exception for QT specific archives as added functionality into the invaluable 7z binary? Currently I just encountered this issue while building some QT NuGets on continuous integration servers, and I would imagine others will also experience the confusion.

    Thanks,
    coast

     
  • Tres Finocchiaro

    I would imagine others will also experience the confusion.

    Yes, hitting this wall now. Working on a C-I style script as well and this bundle appears to be unextractible. Would love to have the feature!

     
  • Tres Finocchiaro

    Update: I'm working from qt-opensource-windows-x86-msvc2015_64-5.8.0.exe and following Igor's troubelshooting steps right now and the files are in proper 7z format, but only the first file is extracted by default. Here are the files:

    #### FIRST ####
    7z x qt-opensource-windows-x86-msvc2015_64-5.8.0.exe -t*
    # > [0]
    # > .data
    # > .qtmetad
    # ...etc...
    
    #### THEN ####
    7z x [0] -t#
    # > 1.7z
    # > 2.7z
    # > 3.7z
    # ...
    # > 152.7z
    

    By default, only 2.7z is extracted and displayed within the 7zip GUI.

    I've examined the nested 3.7z-152.7z files, they do contain everything ELSE I'm looking for.

     

    Last edit: Tres Finocchiaro 2017-03-24
  • Tres Finocchiaro

    Ok... I'm able to get everything... Here's how I did it:

    # Extract the [0] file from exe
    7z x qt-installer.exe -t* -i![0] -y
    
    # Extract only embedded 7z files from [0]
    7z x [0] -t# -i!*.7z -y
    
    # Extract content from all 7z files
    7z x 2.7z -ai!*.7z -y
    

    And of course, delete the files left behind ([0], *.7z)

     

Log in to post a comment.