diff options
-rw-r--r-- | BuildTools/SCons/Tools/wix.py | 2 | ||||
-rw-r--r-- | Swift/Packaging/WiX/Swift.wxs | 9 |
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 @@ -4,13 +4,13 @@ from subprocess import call def generate(env) : wixPath = env.get("wix_bindir", "") 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' env['WIX_LIGHT_OPTIONS'] = '-nologo -ext WixUIExtension' def WiX_IncludeScanner(source, env, path, arg): 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 @@ -7,13 +7,20 @@ <?include variables.wxs ?> <Product Name='Swift' Id='*' UpgradeCode='D7F276D5-BA67-421E-817B-9E7AB4B7D2BF' Language='1033' Codepage='1252' Version='$(var.Version)' Manufacturer='Swift.im'> <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 <Merge Id="CRT" DiskId="1" Language="0" SourceFile="$(var.VCCRTFile)"/> --> |