mirror of
https://github.com/python/cpython.git
synced 2025-09-10 02:36:56 +00:00

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.
64 lines
3.2 KiB
XML
64 lines
3.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
|
<Product Id="*" Language="!(loc.LCID)" Name="!(loc.Title)" Version="$(var.Version)" Manufacturer="!(loc.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
|
|
<Package InstallerVersion="300" Compressed="yes" InstallScope="perUser" Platform="$(var.Platform)" />
|
|
<MediaTemplate EmbedCab="yes" CompressionLevel="high" />
|
|
|
|
<PropertyRef Id="UpgradeTable" />
|
|
<PropertyRef Id="REGISTRYKEY" />
|
|
|
|
<Property Id="PYTHON_EXE" Secure="yes">
|
|
<ComponentSearch Id="PythonExe" Guid="$(var.PythonExeComponentGuid)">
|
|
<FileSearch Name="python.exe" />
|
|
</ComponentSearch>
|
|
</Property>
|
|
|
|
<Property Id="PYTHONW_EXE" Secure="yes">
|
|
<ComponentSearch Id="PythonwExe" Guid="$(var.PythonwExeComponentGuid)">
|
|
<FileSearch Name="pythonw.exe" />
|
|
</ComponentSearch>
|
|
</Property>
|
|
|
|
<Condition Message="!(loc.NoPython)">PYTHON_EXE and PYTHONW_EXE</Condition>
|
|
|
|
<Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
|
|
<ComponentGroupRef Id="tkinter_extension" />
|
|
<ComponentGroupRef Id="tcltk_dlls" />
|
|
<ComponentGroupRef Id="tcltk_lib" />
|
|
<ComponentGroupRef Id="tkinter_lib" Primary="yes" />
|
|
|
|
<Component Id="idle_reg" Directory="InstallDirectory">
|
|
<RegistryValue KeyPath="yes" Root="HKMU" Key="[REGISTRYKEY]\Idle" Type="string" Value="[#Lib_idlelib_idle.pyw]" />
|
|
</Component>
|
|
<ComponentRef Id="OptionalFeature" />
|
|
</Feature>
|
|
<Feature Id="AssociateFiles" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
|
|
<ComponentGroupRef Id="tkinter_lib" />
|
|
<ComponentGroupRef Id="idle_reg" />
|
|
</Feature>
|
|
<Feature Id="Shortcuts" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
|
|
<ComponentGroupRef Id="tkinter_lib" />
|
|
|
|
<Component Id="idle_shortcut" Directory="MenuDir">
|
|
<RegistryValue Root="HKMU" Key="[REGISTRYKEY]\IdleShortcuts" Type="integer" Value="1" KeyPath="yes" />
|
|
<RemoveFolder Id="Remove_MenuDir" On="uninstall" />
|
|
|
|
<Shortcut Id="IDLE"
|
|
Directory="MenuDir"
|
|
Name="!(loc.ShortcutName)"
|
|
Description="!(loc.ShortcutDescription)"
|
|
Target="[PYTHONW_EXE]"
|
|
Arguments='"[#Lib_idlelib_idle.pyw]"'
|
|
Icon="idle.exe">
|
|
<Icon Id="idle.exe" SourceFile="!(bindpath.src)Lib\idlelib\Icons\idle.ico" />
|
|
</Shortcut>
|
|
<Shortcut Id="pydoc.py"
|
|
Target="[PYTHON_EXE]"
|
|
Arguments='-m pydoc -b'
|
|
Name="!(loc.PyDocShortcutName)"
|
|
Description="!(loc.PyDocShortcutDescription)"
|
|
Icon="idle.exe" />
|
|
</Component>
|
|
</Feature>
|
|
</Product>
|
|
</Wix>
|