summaryrefslogtreecommitdiffstats
path: root/Tools/msi/launcher
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@python.org>2022-06-15 16:07:55 (GMT)
committerGitHub <noreply@github.com>2022-06-15 16:07:55 (GMT)
commit99be1cbeb3b58f0daa9108abc4075412d6212169 (patch)
treedc50f40180cd7137103710c397205402e5086aef /Tools/msi/launcher
parentb415c5f1aa29259d5d18a5d85b9365430614383a (diff)
downloadcpython-99be1cbeb3b58f0daa9108abc4075412d6212169.zip
cpython-99be1cbeb3b58f0daa9108abc4075412d6212169.tar.gz
cpython-99be1cbeb3b58f0daa9108abc4075412d6212169.tar.bz2
gh-93824: Reenable installation of shell extension on Windows ARM64 (GH-93825)
Diffstat (limited to 'Tools/msi/launcher')
-rw-r--r--Tools/msi/launcher/launcher.wxs13
-rw-r--r--Tools/msi/launcher/launcher_files.wxs13
2 files changed, 14 insertions, 12 deletions
diff --git a/Tools/msi/launcher/launcher.wxs b/Tools/msi/launcher/launcher.wxs
index d001fe5..b83058c 100644
--- a/Tools/msi/launcher/launcher.wxs
+++ b/Tools/msi/launcher/launcher.wxs
@@ -3,13 +3,18 @@
<Product Id="*" Language="!(loc.LCID)" Name="!(loc.Title)" Version="$(var.Version)" Manufacturer="!(loc.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
<Package InstallerVersion="500" Compressed="yes" InstallScope="perUser" />
<MediaTemplate EmbedCab="yes" CompressionLevel="high" />
-
+
<Property Id="Suppress_TARGETDIR_Check" Value="1" />
<Icon Id="ARPIcon" SourceFile="!(bindpath.src)PC\icons\launcher.ico" />
<Property Id="ARPPRODUCTICON" Value="ARPIcon" />
<Property Id="ARPNOMODIFY" Value="1" />
<Property Id="DISABLEADVTSHORTCUTS" Value="1" />
+ <Property Id="ARM64_SHELLEXT">
+ <ComponentSearch Id="RegistrySearch_ARM64_SHELLEXT_Detected"
+ Guid="{C591963D-7FC6-4FCE-8642-5E01E6B8848F}" />
+ </Property>
+
<Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
<ComponentGroupRef Id="launcher_exe" Primary="yes" />
</Feature>
@@ -17,14 +22,14 @@
<ComponentGroupRef Id="launcher_exe" />
<ComponentGroupRef Id="launcher_reg" />
</Feature>
-
+
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="LauncherInstallDirectory" />
</Directory>
-
+
<CustomAction Id="SetLauncherInstallDirectoryLM" Property="LauncherInstallDirectory" Value="[WindowsFolder]" />
<CustomAction Id="SetLauncherInstallDirectoryCU" Property="LauncherInstallDirectory" Value="[LocalAppDataFolder]Programs\Python\Launcher" />
-
+
<InstallExecuteSequence>
<Custom Before="SetLauncherInstallDirectoryLM" Action="SetLauncherInstallDirectoryCU">NOT Installed AND NOT ALLUSERS=1</Custom>
<Custom Before="CostFinalize" Action="SetLauncherInstallDirectoryLM">NOT Installed AND ALLUSERS=1</Custom>
diff --git a/Tools/msi/launcher/launcher_files.wxs b/Tools/msi/launcher/launcher_files.wxs
index 2c6c808..d9a230e 100644
--- a/Tools/msi/launcher/launcher_files.wxs
+++ b/Tools/msi/launcher/launcher_files.wxs
@@ -22,26 +22,23 @@
</Component>
<Component Id="pyshellext_amd64.dll" Directory="LauncherInstallDirectory" Guid="{E7411EFD-F1DD-40EB-B0C7-4BA02BF3E75F}" Win64="yes">
- <Condition>VersionNT64</Condition>
+ <Condition>VersionNT64 AND NOT ARM64_SHELLEXT</Condition>
<File Id="pyshellext_amd64.dll" Name="pyshellext.amd64.dll" Source="!(bindpath.Build64)\pyshellext.dll">
<Class Id="{BEA218D2-6950-497B-9434-61683EC065FE}" Advertise="no" Context="InprocServer32" ThreadingModel="apartment" />
</File>
</Component>
<Component Id="pyshellext_win32.dll" Directory="LauncherInstallDirectory" Guid="{C5936696-9A5A-45A0-A830-D172C3329282}">
- <Condition>NOT VersionNT64</Condition>
+ <Condition>NOT VersionNT64 AND NOT ARM64_SHELLEXT</Condition>
<File Id="pyshellext_win32.dll" Name="pyshellext.win32.dll" Source="!(bindpath.Build32)\pyshellext.dll">
<Class Id="{BEA218D2-6950-497B-9434-61683EC065FE}" Advertise="no" Context="InprocServer32" ThreadingModel="apartment" />
</File>
</Component>
- <!--
- Currently unclear how to detect ARM64 device at this point.
- In any case, the shell extension doesn't appear to work, so installing a non-functional
- pyshellext_amd64.dll for a different platform isn't any worse.
- <Component Id="pyshellext_arm64.dll" Directory="LauncherInstallDirectory" Guid="{C591963D-7FC6-4FCE-8642-5E01E6B8848F}">
+ <Component Id="pyshellext_arm64.dll" Directory="LauncherInstallDirectory" Guid="{C591963D-7FC6-4FCE-8642-5E01E6B8848F}" Win64="yes">
+ <Condition>ARM64_SHELLEXT</Condition>
<File Id="pyshellext_arm64.dll" Name="pyshellext.arm64.dll" Source="!(bindpath.BuildARM64)\pyshellext.dll">
<Class Id="{BEA218D2-6950-497B-9434-61683EC065FE}" Advertise="no" Context="InprocServer32" ThreadingModel="apartment" />
</File>
- </Component>-->
+ </Component>
</ComponentGroup>
</Fragment>
</Wix>