Difference between revisions of "7-Zip"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
m (MSI Installer package.xml, sets 7-zip as default archive application)
(MSI Installer package.xml, sets 7-zip as default archive application)
Line 548: Line 548:
 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\""
 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\""
 
</pre>
 
</pre>
 
 
In our Windows XP SP3 environment, we had to add the following to the REG file for it to "properly" associate as the default compression utility:
 
 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.zip]
 
"Progid"="7-Zip.zip"
 
 
**Have not tested with any version of 7-Zip previous to 9.13**
 
  
 
== MSI installer package.xml for 7-zip x64 ==
 
== MSI installer package.xml for 7-zip x64 ==

Revision as of 21:17, 4 June 2010

A free file compressor/extractor: www.7-zip.org


MSI installer package.xml

   <package id="7zip"
         name="7-Zip"
         revision="465"
         reboot="false"
         priority="0">

       <check type="uninstall" condition="exists" path="7-Zip 4.65" />

       <install cmd='msiexec /qn /norestart /i %SOFTWARE%\7zip\7z465.msi' />

       <upgrade cmd='msiexec /qn /norestart /i %SOFTWARE%\7zip\7z465.msi' />

       <remove  cmd='msiexec /qn /x{23170F69-40C1-2701-0465-000001000000}' />

   </package>

Alternatively to the use of the GUID you might use the MSI file for uninstall as well. I prefer this method since some packagers tend to create new GUID strings on each release - so you need to search for the right ID at each release. Using the MSI file obsoletes this step:

<?xml version="1.0" encoding="utf-8" ?>
<packages>
  <package id='7zip' 
        name='7-Zip' 
        revision='465'
        priority='50' 
        reboot='false' >

    <check type='uninstall' condition='exists' path='7-Zip 4.65' />

    <install cmd='msiexec /i "%SOFTWARE%\7zip\7z465.msi" /qn' />

    <upgrade cmd='msiexec /i "%SOFTWARE%\7zip\7z465.msi" /qn' />

    <remove cmd='msiexec /x "%SOFTWARE%\7zip\7z465.msi" /qn' />

  </package>
</packages>

MSI installer package.xml for use with existing older exe based installs

Background The hosts on my network are a mix of 7-Zip (various versions) .exe and .msi based installs. If you do a .msi based install without first uninstalling the .exe version it will leave some files from the .exe based install intact as well as an entry in "Add/Remove Programs".

Use this if you have existing .exe based installs of 7-Zip (such as 4.20) and you would like to uninstall them before switching to an .msi based install.

  <package id="7zip" 
        name="7-Zip" 
        revision="465" 
        reboot="false" 
        priority="0">

    <check type="uninstall" condition="exists" path="7-Zip 4.65" />

    <install cmd='%comspec% /c if exist "%PROGRAMFILES%\7-Zip\Uninstall.exe" "%PROGRAMFILES%\7-Zip\Uninstall.exe" /S' /> 
    <install cmd='msiexec /qn /norestart /i %SOFTWARE%\7zip\7z465.msi' />

    <upgrade cmd='%comspec% /c if exist "%PROGRAMFILES%\7-Zip\Uninstall.exe" "%PROGRAMFILES%\7-Zip\Uninstall.exe" /S' /> 
    <upgrade cmd='msiexec /qn /norestart /i %SOFTWARE%\7zip\7z465.msi' />

    <remove  cmd='msiexec /qn /norestart /x %SOFTWARE%\7zip\7z465.msi' />
  </package>

MSI installer for use with existing older exe based installs with mixed 32-bit/64-bit hosts

On a 64-bit host, install the 64-bit version is mandatory as the 32-bit version on 7-Zip doesn't integrate in the explorer.

<?xml version="1.0" encoding="UTF-8"?>

<packages>

<package
    id='7zip'
    name='7-Zip Packer'
    revision='465'
    priority='50'
    reboot='false'
    >
    <check type="logical" condition="or">
        <check
            type="registry"
            condition="equals"
            path="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE"
            value="AMD64"
            />
    <check
        type='uninstall'
        condition='exists'
        path='7-Zip 4.65'
        />
    </check>

    <!-- First Uninstall the .exe -->
    <install cmd='%comspec% /c if exist "%PROGRAMFILES%\7-Zip\Uninstall.exe" "%PROGRAMFILES%\7-Zip\Uninstall.exe" /S' />
    <install cmd='msiexec /i "%SOFTWARE%\7zip\7z465.msi" /qn /norestart' />

    <!-- If you do a .msi based install without first uninstalling the .exe
        version it will leave some files from the .exe based install intact
        as well as an entry in "Add/Remove Programs". -->
    <upgrade cmd='%comspec% /c if exist "%PROGRAMFILES%\7-Zip\Uninstall.exe" "%PROGRAMFILES%\7-Zip\Uninstall.exe" /S' />
    <upgrade cmd='msiexec /i "%SOFTWARE%\7zip\7z465.msi" /qn /norestart' />

</package>

<package
    id='7zip-64'
    name='7-Zip 4.65 (x64 edition)'
    revision='465'
    priority='50'
    reboot='false'
    >
    <check type="logical" condition="or">
        <check
            type="registry"
            condition="equals"
            path="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE"
            value="x86"
            />
        <check
            type='uninstall'
            condition='exists'
            path='7-Zip 4.65 (x64 edition)'
            />
    </check>

    <!-- First Uninstall the .exe -->
    <install cmd='%comspec% /c if exist "%PROGRAMFILES%\7-Zip\Uninstall.exe" "%PROGRAMFILES%\7-Zip\Uninstall.exe" /S' />
    <install cmd='msiexec /i "%SOFTWARE%\7zip\7z465-x64.msi" /qn /norestart' />

    <!-- If you do a .msi based install without first uninstalling the .exe
        version it will leave some files from the .exe based install intact
        as well as an entry in "Add/Remove Programs". -->
    <upgrade cmd='%comspec% /c if exist "%PROGRAMFILES%\7-Zip\Uninstall.exe" "%PROGRAMFILES%\7-Zip\Uninstall.exe" /S' />
    <upgrade cmd='msiexec /i "%SOFTWARE%\7zip\7z465-x64.msi" /qn /norestart' />

</package>


</packages>

EXE installer package.xml

  <package id="7zip"
        name="7-Zip"
        revision="464"
        reboot="false"     
        priority="0">

    <check type="file" condition="exists" path="%PROGRAMFILES%\7-Zip\7zFM.exe" />

    <install cmd='%SOFTWARE%\7zip\7z464.exe /S'>
    <exit code="0" />
    </install>

    <remove cmd='"%PROGRAMFILES%\7-Zip\Uninstall.exe" /S'>
        <exit code="0"/>
    </remove>

  </package>

MSI Installer package.xml, sets 7-zip as default archive application

In meantime, while 7-zip author considers installer switches for file associations, you can use registry files to do it yourself.

<packages>
  <package id="7zip" 
        name="7-Zip" 
        revision="465" 
        priority="0" 
        reboot="false">
    <check type="uninstall" condition="exists" path="7-Zip 4.65"/>

    <install cmd="msiexec /qn /norestart /i %SOFTWARE%\7zip\7z465.msi"/>
    <install cmd="regedit /s %SETTINGS%\7zip.reg"/>

    <upgrade cmd="msiexec /qn /norestart /i %SOFTWARE%\7zip\7z465.msi"/>
    <upgrade cmd="regedit /s %SETTINGS%\7zip.reg"/>

    <remove cmd="msiexec /qn /x{23170F69-40C1-2701-0465-000001000000}"/>
  </package>
</packages>

The .reg file:

Windows Registry Editor Version 5.00 
 
[HKEY_CLASSES_ROOT\.7z] 
@="7-Zip.7z" 
[HKEY_CLASSES_ROOT\.arj] 
@="7-Zip.arj" 
[HKEY_CLASSES_ROOT\.bz2] 
@="7-Zip.bz2" 
[HKEY_CLASSES_ROOT\.bzip2] 
@="7-Zip.bzip2" 
[HKEY_CLASSES_ROOT\.cab] 
@="7-Zip.cab" 
[HKEY_CLASSES_ROOT\.cpio] 
@="7-Zip.cpio" 
[HKEY_CLASSES_ROOT\.deb] 
@="7-Zip.deb" 
[HKEY_CLASSES_ROOT\.dmg] 
@="7-Zip.dmg" 
[HKEY_CLASSES_ROOT\.gz] 
@="7-Zip.gz" 
[HKEY_CLASSES_ROOT\.gzip] 
@="7-Zip.gzip" 
[HKEY_CLASSES_ROOT\.hfs] 
@="7-Zip.hfs" 
[HKEY_CLASSES_ROOT\.iso] 
@="7-Zip.iso" 
[HKEY_CLASSES_ROOT\.lha] 
@="7-Zip.lha" 
[HKEY_CLASSES_ROOT\.lzh] 
@="7-Zip.lzh" 
[HKEY_CLASSES_ROOT\.lzma] 
@="7-Zip.lzma" 
[HKEY_CLASSES_ROOT\.rar] 
@="7-Zip.rar" 
[HKEY_CLASSES_ROOT\.rpm] 
@="7-Zip.rpm" 
[HKEY_CLASSES_ROOT\.split] 
@="7-Zip.split" 
[HKEY_CLASSES_ROOT\.swm] 
@="7-Zip.swm" 
[HKEY_CLASSES_ROOT\.tar] 
@="7-Zip.tar" 
[HKEY_CLASSES_ROOT\.taz] 
@="7-Zip.taz" 
[HKEY_CLASSES_ROOT\.tbz2] 
@="7-Zip.tbz2" 
[HKEY_CLASSES_ROOT\.tbz] 
@="7-Zip.tbz" 
[HKEY_CLASSES_ROOT\.tgz] 
@="7-Zip.tgz" 
[HKEY_CLASSES_ROOT\.tpz] 
@="7-Zip.tpz" 
[HKEY_CLASSES_ROOT\.wim] 
@="7-Zip.wim" 
[HKEY_CLASSES_ROOT\.xar] 
@="7-Zip.xar" 
[HKEY_CLASSES_ROOT\.z] 
@="7-Zip.z" 
[HKEY_CLASSES_ROOT\.zip] 
@="7-Zip.zip" 
[HKEY_CLASSES_ROOT\7-Zip.7z] 
@="7z Archive" 

[HKEY_CLASSES_ROOT\7-Zip.7z\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,0"  
[HKEY_CLASSES_ROOT\7-Zip.7z\shell] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.7z\shell\open] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.7z\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\""  
[HKEY_CLASSES_ROOT\7-Zip.arj] 
@="arj Archive"  
[HKEY_CLASSES_ROOT\7-Zip.arj\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,4"  
[HKEY_CLASSES_ROOT\7-Zip.arj\shell] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.arj\shell\open] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.arj\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\""  
[HKEY_CLASSES_ROOT\7-Zip.bz2] 
@="bz2 Archive"  
[HKEY_CLASSES_ROOT\7-Zip.bz2\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,2"  
[HKEY_CLASSES_ROOT\7-Zip.bz2\shell] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.bz2\shell\open] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.bz2\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\""  
[HKEY_CLASSES_ROOT\7-Zip.bzip2] 
@="bzip2 Archive"  
[HKEY_CLASSES_ROOT\7-Zip.bzip2\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,2"  
[HKEY_CLASSES_ROOT\7-Zip.bzip2\shell] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.bzip2\shell\open] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.bzip2\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\""  
[HKEY_CLASSES_ROOT\7-Zip.cab] 
@="cab Archive"  
[HKEY_CLASSES_ROOT\7-Zip.cab\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,7"  
[HKEY_CLASSES_ROOT\7-Zip.cab\shell] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.cab\shell\open] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.cab\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\""  
[HKEY_CLASSES_ROOT\7-Zip.cpio] 
@="cpio Archive"  
[HKEY_CLASSES_ROOT\7-Zip.cpio\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,12"  
[HKEY_CLASSES_ROOT\7-Zip.cpio\shell] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.cpio\shell\open] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.cpio\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\""  
[HKEY_CLASSES_ROOT\7-Zip.deb] 
@="deb Archive"  
[HKEY_CLASSES_ROOT\7-Zip.deb\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,11"  
[HKEY_CLASSES_ROOT\7-Zip.deb\shell] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.deb\shell\open] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.deb\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\""  
[HKEY_CLASSES_ROOT\7-Zip.dmg] 
@="dmg Archive"  
[HKEY_CLASSES_ROOT\7-Zip.dmg\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,11"  
[HKEY_CLASSES_ROOT\7-Zip.dmg\shell] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.dmg\shell\open] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.dmg\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\""  
[HKEY_CLASSES_ROOT\7-Zip.gz] 
@="gz Archive"  
[HKEY_CLASSES_ROOT\7-Zip.gz\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,14"  
[HKEY_CLASSES_ROOT\7-Zip.gz\shell] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.gz\shell\open] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.gz\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\""  
[HKEY_CLASSES_ROOT\7-Zip.gzip] 
@="gzip Archive"  
[HKEY_CLASSES_ROOT\7-Zip.gzip\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,14"  
[HKEY_CLASSES_ROOT\7-Zip.gzip\shell] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.gzip\shell\open] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.gzip\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\""  
[HKEY_CLASSES_ROOT\7-Zip.hfs] 
@="hfs Archive"  
[HKEY_CLASSES_ROOT\7-Zip.hfs\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,11"  
[HKEY_CLASSES_ROOT\7-Zip.hfs\shell] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.hfs\shell\open] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.hfs\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.iso] 
@="iso Archive"  
[HKEY_CLASSES_ROOT\7-Zip.iso\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,8"  
[HKEY_CLASSES_ROOT\7-Zip.iso\shell] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.iso\shell\open] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.iso\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\""  
[HKEY_CLASSES_ROOT\7-Zip.lha] 
@="lha Archive"  
[HKEY_CLASSES_ROOT\7-Zip.lha\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,6"  
[HKEY_CLASSES_ROOT\7-Zip.lha\shell] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.lha\shell\open] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.lha\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\""  
[HKEY_CLASSES_ROOT\7-Zip.lzh] 
@="lzh Archive"  
[HKEY_CLASSES_ROOT\7-Zip.lzh\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,6"  
[HKEY_CLASSES_ROOT\7-Zip.lzh\shell] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.lzh\shell\open] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.lzh\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.lzma] 
@="lzma Archive"  
[HKEY_CLASSES_ROOT\7-Zip.lzma\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,6"  
[HKEY_CLASSES_ROOT\7-Zip.lzma\shell] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.lzma\shell\open] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.lzma\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.rar] 
@="rar Archive" 
[HKEY_CLASSES_ROOT\7-Zip.rar\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,3" 
[HKEY_CLASSES_ROOT\7-Zip.rar\shell] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.rar\shell\open] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.rar\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.rpm] 
@="rpm Archive" 
[HKEY_CLASSES_ROOT\7-Zip.rpm\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,10" 
[HKEY_CLASSES_ROOT\7-Zip.rpm\shell] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.rpm\shell\open] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.rpm\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.split] 
@="split Archive" 
[HKEY_CLASSES_ROOT\7-Zip.split\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,9" 
[HKEY_CLASSES_ROOT\7-Zip.split\shell] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.split\shell\open] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.split\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.swm] 
@="swm Archive" 
[HKEY_CLASSES_ROOT\7-Zip.swm\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,15" 
[HKEY_CLASSES_ROOT\7-Zip.swm\shell] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.swm\shell\open] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.swm\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.tar] 
@="tar Archive" 
[HKEY_CLASSES_ROOT\7-Zip.tar\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,13" 
[HKEY_CLASSES_ROOT\7-Zip.tar\shell] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.tar\shell\open] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.tar\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.taz] 
@="taz Archive" 
[HKEY_CLASSES_ROOT\7-Zip.taz\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,5" 
[HKEY_CLASSES_ROOT\7-Zip.taz\shell] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.taz\shell\open] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.taz\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.tbz2] 
@="tbz2 Archive" 
[HKEY_CLASSES_ROOT\7-Zip.tbz2\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,2" 
[HKEY_CLASSES_ROOT\7-Zip.tbz2\shell] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.tbz2\shell\open] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.tbz2\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.tbz] 
@="tbz Archive" 
[HKEY_CLASSES_ROOT\7-Zip.tbz\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,2" 
[HKEY_CLASSES_ROOT\7-Zip.tbz\shell] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.tbz\shell\open] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.tbz\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.tgz] 
@="tgz Archive" 
[HKEY_CLASSES_ROOT\7-Zip.tgz\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,14" 
[HKEY_CLASSES_ROOT\7-Zip.tgz\shell] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.tgz\shell\open] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.tgz\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.tpz] 
@="tpz Archive" 
[HKEY_CLASSES_ROOT\7-Zip.tpz\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,14" 
[HKEY_CLASSES_ROOT\7-Zip.tpz\shell] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.tpz\shell\open] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.tpz\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.wim] 
@="wim Archive" 
[HKEY_CLASSES_ROOT\7-Zip.wim\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,15" 
[HKEY_CLASSES_ROOT\7-Zip.wim\shell] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.wim\shell\open] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.wim\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.xar] 
@="xar Archive" 
[HKEY_CLASSES_ROOT\7-Zip.xar\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,15" 
[HKEY_CLASSES_ROOT\7-Zip.xar\shell] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.xar\shell\open] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.xar\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.z] 
@="z Archive" 
[HKEY_CLASSES_ROOT\7-Zip.z\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,5" 
[HKEY_CLASSES_ROOT\7-Zip.z\shell] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.z\shell\open] 
@="" 
[HKEY_CLASSES_ROOT\7-Zip.z\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\"" 
[HKEY_CLASSES_ROOT\7-Zip.zip] 
@="zip Archive" 
[HKEY_CLASSES_ROOT\7-Zip.zip\DefaultIcon] 
@="C:\\Program Files\\7-Zip\\7z.dll,1" 
[HKEY_CLASSES_ROOT\7-Zip.zip\shell] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.zip\shell\open] 
@=""  
[HKEY_CLASSES_ROOT\7-Zip.zip\shell\open\command] 
@="\"C:\\Program Files\\7-Zip\\7zFM.exe\" \"%1\""

MSI installer package.xml for 7-zip x64

For the 64 bit version of 7-Zip you just have to change the check-flag. This is the method, which sets 7-Zip as default application for archives.

<package id="7zip-x64"
         name="7-Zip x64"
         revision="465"
         reboot="false"
         priority="0">
       <check type="uninstall" condition="exists" path="7-Zip 4.65 (x64 edition)" />
       <install cmd='msiexec /qn /norestart /i %SOFTWARE%\7zip\7z465-x64.msi' />
           <install cmd="regedit /s %SETTINGS%\7zip.reg"/>
       <upgrade cmd='msiexec /qn /norestart /i %SOFTWARE%\7zip\7z465-x64.msi' />
           <upgrade cmd="regedit /s %SETTINGS%\7zip.reg"/>
       <remove cmd='msiexec /x "%SOFTWARE%\7zip\7z465-x64.msi" /qn' />
   </package>

7-Zip EXE installer options

"Use the "/S" parameter to do a silent installation and the "/D=dir" parameter to specify the "output directory". These options are case-sensitive. 7-Zip uses the NSIS installer by Nullsoft." - http://www.7-zip.org/faq.html

7-ZIP 9.10 (beta) MSI installer for 32bit and 64bit hosts

<?xml version="1.0" encoding="utf-8" ?>
<packages>
<package
    id='7zip'
    name='7-Zip 9.10'
    revision='910'
    priority='50'
    reboot='false'
    >

    <check type="logical" condition="or">
        <check
            type="registry"
            condition="equals"
            path="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE"
            value="AMD64"
            />
    <check
        type='uninstall'
        condition='exists'
        path='7-Zip 9.10'
        />
    </check>

    <!-- First Uninstall the .exe -->
    <install cmd='%comspec% /c if exist "%PROGRAMFILES%\7-Zip\Uninstall.exe" "%PROGRAMFILES%\7-Zip\Uninstall.exe" /S' />
    <install cmd='msiexec /i "%SOFTWARE%\7zip\7z910.msi" /qn /norestart' />

    <!-- If you do a .msi based install without first uninstalling the .exe
        version it will leave some files from the .exe based install intact
        as well as an entry in "Add/Remove Programs". -->
    <upgrade cmd='%comspec% /c if exist "%PROGRAMFILES%\7-Zip\Uninstall.exe" "%PROGRAMFILES%\7-Zip\Uninstall.exe" /S' />
    <upgrade cmd='msiexec /i "%SOFTWARE%\7zip\7z910.msi" /qn /norestart' />
 
    <remove cmd='msiexec /x "%SOFTWARE%\7zip\7z910.msi" /qn' />
</package>

<package
    id='7zip-64'
    name='7-Zip 9.10 (x64 edition)'
    revision='910'
    priority='50'
    reboot='false'
    >
    <check type="logical" condition="or">
        <check
            type="registry"
            condition="equals"
            path="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE"
            value="x86"
            />
        <check
            type='uninstall'
            condition='exists'
            path='7-Zip 9.10 (x64 edition)'
            />
    </check>
 
    <!-- First Uninstall the .exe -->
    <install cmd='%comspec% /c if exist "%PROGRAMFILES(x86)%\7-Zip\Uninstall.exe" "%PROGRAMFILES%(x86)\7-Zip\Uninstall.exe" /S' />
    <install cmd='msiexec /i "%SOFTWARE%\7zip\7z910-x64.msi" /qn /norestart' />
 
    <!-- If you do a .msi based install without first uninstalling the .exe
        version it will leave some files from the .exe based install intact
        as well as an entry in "Add/Remove Programs". -->
    <upgrade cmd='%comspec% /c if exist "%PROGRAMFILES(x86)%\7-Zip\Uninstall.exe" "%PROGRAMFILES%(x86)\7-Zip\Uninstall.exe" /S' />
    <upgrade cmd='msiexec /i "%SOFTWARE%\7zip\7z910-x64.msi" /qn /norestart' />
 
    <remove cmd='msiexec /x "%SOFTWARE%\7zip\7z910-x64.msi" /qn' />
</package>

</packages>

Links