How to deploy 7-Zip 9.20?

7-Zip_Logo

Following on from my last post which talked about deployment of VLC Media Player 2.0.4 we are going to look at pushing out 7-Zip 9.20 in the enterprise.

7-Zip has been around for as long as I can remember and its a very good alternative to WinRAR and WinZIP – both of which are chargeable. Functionality wise its definitely on pair with any paid solution available today. Also .7z compression format is one of the best to use if you care about final file size – to quote 7-Zip themselves here is what they have to say:

Compression ratio results are very dependent upon the data used for the tests. Usually, 7-Zip compresses to 7z format 30-70% better than to zip format. And 7-Zip compresses to zip format 2-10% better than most of other zip compatible programs.

Quick compression ratio stats show how well 7-Zip does against the competition:

How_to_deploy_7-Zip_9.20_1

FILE SETS: Mozilla Firefox 1.0.7 for Windows and Google Earth 3.0.0616 for Windows after full installation.

To get our deployment started we need a copy of .msi installer package provided by 7-Zip guys available on their website:

http://www.7-zip.org/download.html

Next file required contains all customizations packaged up in an .mst transform file available here:

7-Zip_Customizations.mst

These include:

1) Removal of 7-Zip Help shortcuts:

How_to_deploy_7-Zip_9.20_2

2) and Windows file type associations:

How_to_deploy_7-Zip_9.20_3

To actually install the application you need to use the following command:

And that’s about it! You should be up and running with latest version of 7-Zip installed.

UPDATE

If you opt not to use the .mst file your .zip files will be handled by Windows Explorer which is pretty rubbish. Example:

With no .mst file .7z and .rar extensions not associated with 7-zip and we simply cannot open the archive files:

7-zip_mst_not_included

7-zip_mst_not_included_2

On the contrary when .mst is used all archive formats are associated with 7-Zip by default which is what we want:

7-zip_mst_included

Bottom line – use the provided .mst 😉

8 thoughts on “How to deploy 7-Zip 9.20?

  1. Jana

    I keep receiving an error that states “A network error occurred while attempting to read from the file C:\7-Zip\target.msi” What am I doing wrong?

  2. Adrian Kielbowicz Post author

    Hi Jana,

    What’s target.msi? Is it just 7z920.msi that you have renamed?

    What’s the command you’re running to get 7-zip installed? Can you paste it here?

    Also, can you simply double click on the 7z920.msi and get it installed that way? Does it work?

  3. Jana

    I’m using MDT and the error I’m now getting is unexpected return code 1639.
    This is my command MSIEXEC.EXE /1 7ziplog.txt /i 7z920.msi TRANSFORMS=7-Zip_Customizations.mst /suppress /qb!

  4. Jana

    Oh, and yes, the MSI file does install correctly. I’ve changed the install command a few times after the original failed to deploy, and the one I previously posted was my most recent attempt.

  5. Jana

    I ended up copying the 7zip .msi file and making an additional .msi file in the same folder named target.msi. For some reason this is the only way it will allow me to install from my network drive.

    The mst file is perfect, by the way! Thanks for everything.

  6. Adam

    Hi Adrian,

    Nice work.

    I looked for a contact page but did’t fine one. Your transform has all the file extension associations in the registry table which will work but isn’t the approach recommended for Windows Installer packages. Extensions should be registered in the Extension table with associated in the MIME, Class and ProgID’s tables.

    I need to get this working for a customer so if I go down the path of association the extensions for deployment I’ll share my output.

  7. Adrian Kielbowicz Post author

    Hi Adam,

    Thanks for your comment.

    I must admit that I’m not a software packager by default so it was always very likely that the .mst wasn’t as Microsoft would have like it to be 😉

    Please do share your output once you have it – I’m always willing to learn.

    Adrian

Leave a Reply