Difference between revisions of "7-Zip"
(→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
Contents
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
- 7-Zip FAQ briefly discusses silent install
- 7-Zip on appdeploy.com
- Generic NSIS Installer Command Line Usage