fix for MSI uninstall that needs admin permissions, added 7zip

This commit is contained in:
Luke Sampson
2013-06-27 14:10:08 +10:00
parent 352ba72b5d
commit 0c09c4fefd
2 changed files with 16 additions and 4 deletions
+13 -2
View File
@@ -2,6 +2,17 @@
"homepage": "http://www.7-zip.org/",
"license": "http://www.7-zip.org/license.txt",
"version": "9.20",
"url": "http://downloads.sourceforge.net/sevenzip/7za920.zip",
"bin": "7za.exe"
"architecture": {
"64bit": {
"url": "http://downloads.sourceforge.net/project/sevenzip/7-Zip/9.20/7z920-x64.msi",
"hash": { "sha256": "62df458bc521001cd9a947643a84810ecbaa5a16b5c8e87d80df8e34c4a16fe2" },
"msi": { "code": "{23170F69-40C1-2702-0920-000001000000}" }
},
"32bit": {
"url": "http://downloads.sourceforge.net/project/sevenzip/7-Zip/9.20/7z920.msi",
"hash": { "sha256": "fe4807b4698ec89f82de7d85d32deaa4c772fc871537e31fb0fccf4473455cb8" },
"msi": { "code": "{23170F69-40C1-2701-0920-000001000000}" }
}
},
"bin": "7z.exe"
}
+3 -2
View File
@@ -137,7 +137,8 @@ function run_installer($fname, $manifest, $architecture, $dir) {
}
if(!($msi.code)) { abort "error in manifest: couldn't find MSI code"}
$exe = 'msiexec'
$arg = @("/i `"$msifile`"", '/qb-!', "TARGETDIR=`"$dir`"") + $msi.args
$arg = @("/i `"$msifile`"", '/qb-!', "TARGETDIR=`"$dir`"", "INSTALLDIR=`"$dir`"") +
(@($msi.args) | ? { $_ })
} elseif($installer) { # other installer
$rmfile = $exe = "$dir\$(coalesce $installer.exe "$fname")"
if(!(is_in_dir $dir $exe)) {
@@ -163,7 +164,7 @@ function run_uninstaller($manifest, $architecture, $dir) {
if($msi) {
$code = $msi.code
$exe = "msiexec"; $arg = @("/x $code", '/quiet');
$exe = "msiexec"; $arg = @("/x $code", '/qb-!');
$continue_exit_codes.1605 = 'not installed, skipping'
} elseif($uninstaller) {
$exe = "$dir\$($uninstaller.exe)"