diff options
author | Steve Dower <steve.dower@python.org> | 2022-03-28 23:21:08 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-28 23:21:08 (GMT) |
commit | bad86a621af61f383b9f06fe4a08f66245df99e2 (patch) | |
tree | 0d52b1d9356c9cd73947db5a63d9829f9c5af2f4 /Tools/msi | |
parent | 5c30388f3c586ba2f33e349e22e5949cb92de621 (diff) | |
download | cpython-bad86a621af61f383b9f06fe4a08f66245df99e2.zip cpython-bad86a621af61f383b9f06fe4a08f66245df99e2.tar.gz cpython-bad86a621af61f383b9f06fe4a08f66245df99e2.tar.bz2 |
bpo-46566: Add new py.exe launcher implementation (GH-32062)
Diffstat (limited to 'Tools/msi')
-rw-r--r-- | Tools/msi/launcher/launcher.wixproj | 28 | ||||
-rw-r--r-- | Tools/msi/launcher/launcher_files.wxs | 9 |
2 files changed, 28 insertions, 9 deletions
diff --git a/Tools/msi/launcher/launcher.wixproj b/Tools/msi/launcher/launcher.wixproj index 7ff1690..de770bd 100644 --- a/Tools/msi/launcher/launcher.wixproj +++ b/Tools/msi/launcher/launcher.wixproj @@ -8,6 +8,7 @@ <DefineConstants>UpgradeCode=1B68A0EC-4DD3-5134-840E-73854B0863F1;SuppressUpgradeTable=1;$(DefineConstants)</DefineConstants> <IgnoreCommonWxlTemplates>true</IgnoreCommonWxlTemplates> <SuppressICEs>ICE80</SuppressICEs> + <_Rebuild>Build</_Rebuild> </PropertyGroup> <Import Project="..\msi.props" /> <ItemGroup> @@ -18,18 +19,27 @@ <ItemGroup> <EmbeddedResource Include="*.wxl" /> </ItemGroup> - - <Target Name="_EnsurePyEx86" Condition="!Exists('$(BuildPath32)py.exe')" BeforeTargets="PrepareForBuild"> - <MSBuild Projects="$(PySourcePath)PCbuild\pylauncher.vcxproj" Properties="Platform=Win32" /> + + <Target Name="_MarkAsRebuild" BeforeTargets="BeforeRebuild"> + <PropertyGroup> + <_Rebuild>Rebuild</_Rebuild> + </PropertyGroup> + </Target> + + <Target Name="_EnsurePyEx86" Condition="!Exists('$(BuildPath32)py.exe') or '$(_Rebuild)' == 'Rebuild'" BeforeTargets="PrepareForBuild"> + <MSBuild Projects="$(PySourcePath)PCbuild\pylauncher.vcxproj" Properties="Platform=Win32" Targets="$(_Rebuild)" /> + </Target> + <Target Name="_EnsurePywEx86" Condition="!Exists('$(BuildPath32)pyw.exe') or '$(_Rebuild)' == 'Rebuild'" BeforeTargets="PrepareForBuild"> + <MSBuild Projects="$(PySourcePath)PCbuild\pywlauncher.vcxproj" Properties="Platform=Win32" Targets="$(_Rebuild)" /> </Target> - <Target Name="_EnsurePywEx86" Condition="!Exists('$(BuildPath32)pyw.exe')" BeforeTargets="PrepareForBuild"> - <MSBuild Projects="$(PySourcePath)PCbuild\pywlauncher.vcxproj" Properties="Platform=Win32" /> + <Target Name="_EnsurePyShellExt86" Condition="!Exists('$(BuildPath32)pyshellext.dll') or '$(_Rebuild)' == 'Rebuild'" BeforeTargets="PrepareForBuild"> + <MSBuild Projects="$(PySourcePath)PCbuild\pyshellext.vcxproj" Properties="Platform=Win32" Targets="$(_Rebuild)" /> </Target> - <Target Name="_EnsurePyShellExt86" Condition="!Exists('$(BuildPath32)pyshellext.dll')" BeforeTargets="PrepareForBuild"> - <MSBuild Projects="$(PySourcePath)PCbuild\pyshellext.vcxproj" Properties="Platform=Win32" /> + <Target Name="_EnsurePyShellExt64" Condition="!Exists('$(BuildPath64)pyshellext.dll') or '$(_Rebuild)' == 'Rebuild'" BeforeTargets="PrepareForBuild"> + <MSBuild Projects="$(PySourcePath)PCbuild\pyshellext.vcxproj" Properties="Platform=x64" Targets="$(_Rebuild)" /> </Target> - <Target Name="_EnsurePyShellExt64" Condition="!Exists('$(BuildPath64)pyshellext.dll')" BeforeTargets="PrepareForBuild"> - <MSBuild Projects="$(PySourcePath)PCbuild\pyshellext.vcxproj" Properties="Platform=x64" /> + <Target Name="_EnsurePyShellExtARM64" Condition="!Exists('$(BuildPathARM64)pyshellext.dll') or '$(_Rebuild)' == 'Rebuild'" BeforeTargets="PrepareForBuild"> + <MSBuild Projects="$(PySourcePath)PCbuild\pyshellext.vcxproj" Properties="Platform=ARM64" Targets="$(_Rebuild)" /> </Target> <Import Project="..\msi.targets" /> diff --git a/Tools/msi/launcher/launcher_files.wxs b/Tools/msi/launcher/launcher_files.wxs index 5b79d76..2c6c808 100644 --- a/Tools/msi/launcher/launcher_files.wxs +++ b/Tools/msi/launcher/launcher_files.wxs @@ -33,6 +33,15 @@ <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}"> + <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>--> </ComponentGroup> </Fragment> </Wix> |