summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--BuildTools/SCons/Tools/wix.py2
-rw-r--r--Swift/Packaging/WiX/Swift.wxs9
2 files changed, 9 insertions, 2 deletions
diff --git a/BuildTools/SCons/Tools/wix.py b/BuildTools/SCons/Tools/wix.py
index 7b62508..705d249 100644
--- a/BuildTools/SCons/Tools/wix.py
+++ b/BuildTools/SCons/Tools/wix.py
@@ -7,7 +7,7 @@ def generate(env) :
if len(wixPath) > 0 and wixPath[-1] != "\\":
wixPath += "\\"
env['WIX_HEAT'] = wixPath + 'heat.exe'
- env['WIX_HEAT_OPTIONS'] = '-nologo -gg -sfrag -suid -template fragment -dr ProgramFilesFolder'
+ env['WIX_HEAT_OPTIONS'] = '-nologo -ag -sfrag -suid -template fragment -dr ProgramFilesFolder'
env['WIX_CANDLE'] = wixPath + 'candle.exe'
env['WIX_CANDLE_OPTIONS'] = '-nologo'
env['WIX_LIGHT'] = wixPath + 'light.exe'
diff --git a/Swift/Packaging/WiX/Swift.wxs b/Swift/Packaging/WiX/Swift.wxs
index c14f23d..1e8d129 100644
--- a/Swift/Packaging/WiX/Swift.wxs
+++ b/Swift/Packaging/WiX/Swift.wxs
@@ -10,7 +10,14 @@
<Package Id='*' Keywords='Installer' Description="Swift Installer" Comments="Swift is available under the GPL version 3" Manufacturer="Swift.im" InstallerVersion='300' Languages='1033' Compressed='yes' SummaryCodepage='1252' InstallScope="perMachine"/>
<Media Id='1' Cabinet='Swift.cab' EmbedCab='yes'/>
- <MajorUpgrade DowngradeErrorMessage="A newer version is already installed. Remove this version if you wish to downgrade." />
+ <!-- Schedule the upgrade to afterInstallExecute means that MSI will first install the new version
+ over the existing version and run the uninstall of the old version afterwards. This way shortcuts
+ are not recreated on every new installation and pinned shortcuts stay alive.
+ However this requires that the components for installed files with the same filename will always
+ have the same GUID (do not run heat.exe with -gg flag) or else when MSI removes the components
+ of the old version with the same filename as components of the new version it will delete the
+ files that belong to components of the new version.-->
+ <MajorUpgrade Schedule="afterInstallExecute" DowngradeErrorMessage="A newer version is already installed. Remove this version if you wish to downgrade." />
<Directory Id='TARGETDIR' Name='SourceDir'>
<!-- Disabling CRT merge module, because it's not working