summaryrefslogtreecommitdiffstats
path: root/Tools/msi/exe
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@microsoft.com>2015-07-09 03:18:44 (GMT)
committerSteve Dower <steve.dower@microsoft.com>2015-07-09 03:18:44 (GMT)
commit494374922c909bfb7c833032a686cc173762d988 (patch)
tree4824dbeaca517af7abab41a9c1714be71b23d975 /Tools/msi/exe
parent9e7a0468ef12dc68a7efc397511ef06407aa835c (diff)
downloadcpython-494374922c909bfb7c833032a686cc173762d988.zip
cpython-494374922c909bfb7c833032a686cc173762d988.tar.gz
cpython-494374922c909bfb7c833032a686cc173762d988.tar.bz2
Issue #24585: Enables build-to-build upgrades that preserve settings.
Rather than using Burn "Persisted" variables we now add registry keys for each added feature. These can be detected by the installer regardless of which version installed them, and we use this for Modify and Upgrade. In particular, Upgrades can't access the Persisted variables, but can find well-known registry keys. There are also some changes to the bootstrap app to properly handle upgrades. Finally, a few minor improvements to the Windows build to keep things tidier.
Diffstat (limited to 'Tools/msi/exe')
-rw-r--r--Tools/msi/exe/exe.wxs2
-rw-r--r--Tools/msi/exe/exe_files.wxs1
2 files changed, 3 insertions, 0 deletions
diff --git a/Tools/msi/exe/exe.wxs b/Tools/msi/exe/exe.wxs
index d8b05e0..dcbf646 100644
--- a/Tools/msi/exe/exe.wxs
+++ b/Tools/msi/exe/exe.wxs
@@ -11,6 +11,7 @@
<ComponentGroupRef Id="exe_python" Primary="yes" />
<ComponentGroupRef Id="exe_txt" />
<ComponentGroupRef Id="exe_icons" />
+ <ComponentRef Id="OptionalFeature" />
</Feature>
<Feature Id="Shortcuts" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
@@ -23,6 +24,7 @@
<RemoveFolder Id="Remove_MenuDir" Directory="MenuDir" On="uninstall" />
<RegistryKey Root="HKMU" Key="[REGISTRYKEY]">
<RegistryValue Key="InstallPath\InstallGroup" Type="string" Value="!(loc.ProductName)" KeyPath="yes" />
+ <RegistryValue Key="InstalledFeatures" Name="Shortcuts" Type="string" Value="$(var.Version)" />
</RegistryKey>
</Component>
</Feature>
diff --git a/Tools/msi/exe/exe_files.wxs b/Tools/msi/exe/exe_files.wxs
index 6422372..3b5fce4 100644
--- a/Tools/msi/exe/exe_files.wxs
+++ b/Tools/msi/exe/exe_files.wxs
@@ -23,6 +23,7 @@
<RegistryKey Root="HKMU" Key="[REGISTRYKEY]">
<RegistryValue Key="InstallPath" Type="string" Value="[InstallDirectory]" KeyPath="no" />
+ <RegistryValue Key="InstallPath" Name="ExecutablePath" Type="string" Value="[#python.exe]" KeyPath="no" />
</RegistryKey>
</Component>
<Component Id="pythonw.exe" Directory="InstallDirectory" Guid="$(var.PythonwExeComponentGuid)">