7-Zip

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search

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


Contents

[edit] MSI installer package.xml

[edit] Using GUID for Uninstall

   <package id="7zip"
         name="7-Zip"
         revision="920"
         reboot="false"
         priority="0">
 
       <check type="uninstall" condition="exists" path="7-Zip 9.20" />
 
       <install cmd='msiexec /qn /norestart /i %SOFTWARE%\7zip\7z920.msi' />
 
       <upgrade cmd='msiexec /qn /norestart /i %SOFTWARE%\7zip\7z920.msi' />
 
       <remove  cmd='msiexec /qn /x{23170F69-40C1-2701-0920-000001000000}' />
 
   </package>

[edit] Using .msi for Uninstall

Alternatively to the use of the GUID you might use the MSI file for uninstall as well. This method has the advantage that since a new GUID string is used for each release, you need to search for the right ID at each release; using the MSI file obsoletes this step. However, with this approach you need to remember to leave older version(s) of the installer on your server.

  <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>

[edit] 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>

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

On a 64-bit host, the 64-bit version is more useful, because the 32-bit version of 7-Zip doesn't integrate in the Windows Explorer.

Warning: The approach demonstrated below which checks the value of "PROCESSOR_ARCHITECTURE" in the registry is flawed for several reasons:

A better approach is to either A) put both packages "7zip" and "7zip-x64" in your package database without the checks on PROCESSOR_ARCHITECTURE and assign "7zip" only to 32bit hosts and "7zip-x64" only to 64bit hosts, or B) create only one package that contains both the 32bit and 64bit installers of 7-Zip, and write a custom installer script that checks the operating system and installs the correct version of 7-Zip.

<?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>

[edit] 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>

[edit] 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>

You can use a batch-script (tested for Version 9.20), to add the extension. Feel free to add further extensions to 7-Zip

Shortly explained what the script is doing:

* This batch grabs the extension from the with space delimited extension list (EXTN=001-9 ... zip-1)
* <extension>-<standard-icon in 7z.dll> means that the first part is the name of the extension. The second part is the icon, which is stored within the 7z.dll.
* This data will be used to automatically add the desired values to the registry.

ATTENTION: Please install 7-Zip x86 for x86 systems only and not on x64 Systems. Otherwise you have to check prior, which programfiles folder to use. (see batch script below %PROGRAMFILES% / %PROGRAMFILES(x86)%)

@echo off
 
SET SC=HKLM\Software\Classes
SET Extn=001-9 7z-0 arj-4 bz2-2 bzip2-2 cab-7 cpio-7 deb-11 dmg-17 gz-14 fat-21 gz-14 gzip-14 hfs-18 iso-8 lha-6 lzh-6 lzma-16 ntfs-22 rar-3 rpm-10 split-9 squashfs-24 swm-15 tar-13 taz-5 tbz-2 tbz2-2 tgz-14 tpz-14 txz-23 vhd-20 wim-15 xar-19 xz-23 z-5 zip-1001-9 7z-0 arj-4 bz2-2 bzip2-2 cab-7 cpio-7 deb-11 dmg-17 gz-14 fat-21 gz-14 gzip-14 hfs-18 iso-8 lha-6 lzh-6 lzma-16 ntfs-22 rar-3 rpm-10 split-9 squashfs-24 swm-15 tar-13 taz-5 tbz-2 tbz2-2 tgz-14 tpz-14 txz-23 vhd-20 wim-15 xar-19 xz-23 z-5 zip-1
 
FOR %%j IN (%Extn%) DO (
	FOR /F "tokens=1,2 delims=-" %%A IN ("%%j") DO (
		REG ADD %SC%\.%%A /VE /D "7-Zip.%%A" /F
		REG ADD %SC%\7-Zip.%%A /VE /D "%%A Archive" /F
		REG ADD %SC%\7-Zip.%%A\DefaultIcon /VE /D "%PROGRAMFILES%\7-Zip\7z.dll,%%B" /F
		REG ADD %SC%\7-Zip.%%A\shell\open\command /VE /D "\"%PROGRAMFILES%\7-Zip\7zFM.exe\" \"%%1\"" /F
        )
)

Alternative the .reg file:

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

[edit] 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>

[edit] 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

[edit] 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>

[edit] Links

Retrieved from "http://wpkg.org/7-Zip"
Personal tools
Namespaces
Variants
Actions
Navigation
ideas?
Toolbox