[vlc-commits] msi: remove older (nsis) version before install
Ludovic Fauvet
git at videolan.org
Fri Jun 21 20:39:46 CEST 2013
vlc | branch: master | Ludovic Fauvet <etix at videolan.org> | Fri Jun 21 20:27:58 2013 +0200| [cf3c401743dc0de9bc27992ab3f1314aab98490e] | committer: Ludovic Fauvet
msi: remove older (nsis) version before install
If a pre-2.1 version is detected it will be uninstalled silently before
proceeding.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=cf3c401743dc0de9bc27992ab3f1314aab98490e
---
extras/package/win32/msi/product.wxs | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/extras/package/win32/msi/product.wxs b/extras/package/win32/msi/product.wxs
index 7cde324..6cb97f4 100644
--- a/extras/package/win32/msi/product.wxs
+++ b/extras/package/win32/msi/product.wxs
@@ -43,6 +43,9 @@
</Condition>
<MajorUpgrade Schedule="afterInstallInitialize" DowngradeErrorMessage="A later version of [ProductName] is already installed. Setup will now exit."/>
+ <Property Id="NSISLOCATION">
+ <RegistrySearch Id="NSISLOCATION" Type="raw" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\VLC media player" Name="UninstallString" />
+ </Property>
<Icon Id="vlc.ico" SourceFile="$(var.SourceDir)/vlc.ico"/>
@@ -326,10 +329,18 @@
<InstallExecuteSequence>
<!-- <RemoveExistingProducts After="InstallValidate" /> -->
+ <Custom Action="ExecVLCNSISUninstall" Before="InstallValidate">NSISLOCATION AND NOT Installed</Custom>
<Custom Action="ExecVLCCacheGen" Before="InstallFinalize">REINSTALL OR NOT Installed</Custom>
<Custom Action="SetExecVLCCacheGen" Before="ExecVLCCacheGen">REINSTALL OR NOT Installed</Custom>
</InstallExecuteSequence>
+ <!-- Uninstall an older version of VLC (using NSIS) -->
+ <CustomAction Id = "ExecVLCNSISUninstall"
+ Directory = "APPLICATIONFOLDER"
+ ExeCommand = "[NSISLOCATION] /S"
+ Execute = "immediate"
+ Impersonate = "no"
+ Return = "check" />
<!-- Launch silently vlc-cache-gen.exe during install -->
<CustomAction Id = "SetExecVLCCacheGen"
Property = "ExecVLCCacheGen"
More information about the vlc-commits
mailing list