Difference between revisions of "7-Zip"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
(MSI installer package.xml)
(MSI installer package.xml)
Line 3: Line 3:
  
 
== MSI installer package.xml ==
 
== MSI installer package.xml ==
 
+
<PRE>
 
   <package id="7zip"
 
   <package id="7zip"
 
         name="7-zip 4.42"
 
         name="7-zip 4.42"
Line 14: Line 14:
 
       <remove cmd='msiexec /qn /x{23170F69-40C1-2701-0442-000001000000}' />
 
       <remove cmd='msiexec /qn /x{23170F69-40C1-2701-0442-000001000000}' />
 
   </package>
 
   </package>
 +
</PRE>
 +
 +
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:
 +
 +
<PRE>
 +
<?xml version="1.0" encoding="utf-8" ?>
 +
<packages>
 +
 +
<package id='7-Zip' name='7-Zip Packer' revision='442' priority='50' reboot='false' >
 +
  <!-- 7-Zip file packer -->
 +
  <check type='uninstall' condition='exists' path='7-Zip 4.42' />
 +
  <install cmd='msiexec /i "%SOFTWARE%\software.free\7-Zip v.4.42\7z442.msi" /qn' />
 +
  <remove cmd='msiexec /x "%SOFTWARE%\software.free\7-Zip v.4.42\7z442.msi" /qn' />
 +
  <upgrade cmd='msiexec /i "%SOFTWARE%\software.free\7-Zip v.4.42\7z442.msi" /qn' />
 +
</package>
 +
 +
</packages>
 +
</PRE>
  
 
== MSI installer package.xml for use with existing older exe based installs==
 
== MSI installer package.xml for use with existing older exe based installs==

Revision as of 22:07, 6 November 2007

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


MSI installer package.xml

   <package id="7zip"
         name="7-zip 4.42"
         revision="442"
         reboot="false"
         priority="0">
       <check type="uninstall" condition="exists" path="7-Zip 4.42" />
       <install cmd='msiexec /qn /norestart /i %SOFTWARE%\7zip\7z442.msi' />
       <upgrade cmd='msiexec /qn /norestart /i %SOFTWARE%\7zip\7z442.msi' />
       <remove cmd='msiexec /qn /x{23170F69-40C1-2701-0442-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='7-Zip' name='7-Zip Packer' revision='442' priority='50' reboot='false' >
  <!-- 7-Zip file packer -->
  <check type='uninstall' condition='exists' path='7-Zip 4.42' />
  <install cmd='msiexec /i "%SOFTWARE%\software.free\7-Zip v.4.42\7z442.msi" /qn' />
  <remove cmd='msiexec /x "%SOFTWARE%\software.free\7-Zip v.4.42\7z442.msi" /qn' />
  <upgrade cmd='msiexec /i "%SOFTWARE%\software.free\7-Zip v.4.42\7z442.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="7-zip" name="7-zip 4.42" revision="1" reboot="false" priority="0">
   <check type="uninstall" condition="exists" path="7-Zip 4.42" />
   <install cmd='%comspec% /c if exist "%PROGRAMFILES%\7-Zip\Uninstall.exe" "%PROGRAMFILES%\7-Zip\Uninstall.exe" /S' /> 
   <install cmd='msiexec /qn /norestart /i %SOFTWARE%\7-Zip\7z442.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%\7-Zip\7z442.msi' />
   <remove  cmd='msiexec /qn /norestart /x %SOFTWARE%\7-Zip\7z442.msi' />
 </package>

EXE installer package.xml

<package
    id="7zip"
    name="7-Zip"     revision="432"
    reboot="false"     priority="0">
    <check type="file" condition="exists" path="%PROGRAMFILES%\7-Zip\7zFM.exe" />

    <install cmd='%SOFTWARE%\7-zip\7z432.exe /S'>
    <exit code="0" />
    </install>
    <remove cmd='"%PROGRAMFILES%\7-Zip\Uninstall.exe" /S'>
        <exit code="0"/>
    </remove>
</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

Links