mirror of
https://github.com/python/cpython.git
synced 2025-09-26 10:19:53 +00:00
Issue #27469: Adds a shell extension to the launcher so that drag and drop works correctly.
This commit is contained in:
parent
5f804e387e
commit
df450d1a18
15 changed files with 868 additions and 10 deletions
|
@ -7,6 +7,7 @@
|
|||
<OutputType>Package</OutputType>
|
||||
<DefineConstants>UpgradeCode=1B68A0EC-4DD3-5134-840E-73854B0863F1;$(DefineConstants)</DefineConstants>
|
||||
<IgnoreCommonWxlTemplates>true</IgnoreCommonWxlTemplates>
|
||||
<SuppressICEs>ICE80</SuppressICEs>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\msi.props" />
|
||||
<ItemGroup>
|
||||
|
@ -18,5 +19,18 @@
|
|||
<EmbeddedResource Include="*.wxl" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="_EnsurePyEx86" Condition="!Exists('$(BuildPath32)py.exe')" BeforeTargets="PrepareForBuild">
|
||||
<MSBuild Projects="$(PySourcePath)PCBuild\pylauncher.vcxproj" Properties="Platform=Win32" />
|
||||
</Target>
|
||||
<Target Name="_EnsurePywEx86" Condition="!Exists('$(BuildPath32)pyw.exe')" BeforeTargets="PrepareForBuild">
|
||||
<MSBuild Projects="$(PySourcePath)PCBuild\pywlauncher.vcxproj" Properties="Platform=Win32" />
|
||||
</Target>
|
||||
<Target Name="_EnsurePyShellExt86" Condition="!Exists('$(BuildPath32)pyshellext.dll')" BeforeTargets="PrepareForBuild">
|
||||
<MSBuild Projects="$(PySourcePath)PCBuild\pyshellext.vcxproj" Properties="Platform=Win32" />
|
||||
</Target>
|
||||
<Target Name="_EnsurePyShellExt64" Condition="!Exists('$(BuildPath64)pyshellext.dll')" BeforeTargets="PrepareForBuild">
|
||||
<MSBuild Projects="$(PySourcePath)PCBuild\pyshellext.vcxproj" Properties="Platform=x64" />
|
||||
</Target>
|
||||
|
||||
<Import Project="..\msi.targets" />
|
||||
</Project>
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
<RemoveExistingProducts After="InstallValidate">UPGRADE or REMOVE_350_LAUNCHER</RemoveExistingProducts>
|
||||
</InstallExecuteSequence>
|
||||
|
||||
|
||||
<!-- Python 3.5.0 shipped with a different UpgradeCode -->
|
||||
<Upgrade Id="A71530B9-E89D-53DB-9C2D-C6D7551876D8">
|
||||
<UpgradeVersion Minimum="0.0.0.0" Property="REMOVE_350_LAUNCHER" />
|
||||
|
|
|
@ -20,6 +20,19 @@
|
|||
<Condition>ALLUSERS=1</Condition>
|
||||
<RegistryValue KeyPath="yes" Root="HKMU" Key="Software\Python\PyLauncher" Name="InstallDir" Value="[LauncherInstallDirectory]" Type="string" />
|
||||
</Component>
|
||||
|
||||
<Component Id="pyshellext_amd64.dll" Directory="LauncherInstallDirectory" Guid="{E7411EFD-F1DD-40EB-B0C7-4BA02BF3E75F}" Win64="yes">
|
||||
<Condition>VersionNT64</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>
|
||||
<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>
|
||||
</ComponentGroup>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
|
|
|
@ -10,14 +10,14 @@
|
|||
<Verb Id="open" TargetFile="py.exe" Argument=""%L" %*" />
|
||||
</Extension>
|
||||
</ProgId>
|
||||
<RegistryValue Root="HKCR" Key="Python.File\shellex\DropHandler" Value="{60254CA5-953B-11CF-8C96-00AA00B8708C}" Type="string" />
|
||||
<RegistryValue Root="HKCR" Key="Python.File\shellex\DropHandler" Value="{BEA218D2-6950-497B-9434-61683EC065FE}" Type="string" />
|
||||
|
||||
<ProgId Id="Python.NoConFile" Description="!(loc.PythonNoConFileDescription)" Advertise="no" Icon="py.exe" IconIndex="1">
|
||||
<Extension Id="pyw" ContentType="text/plain">
|
||||
<Verb Id="open" TargetFile="pyw.exe" Argument=""%L" %*" />
|
||||
</Extension>
|
||||
</ProgId>
|
||||
<RegistryValue Root="HKCR" Key="Python.NoConFile\shellex\DropHandler" Value="{60254CA5-953B-11CF-8C96-00AA00B8708C}" Type="string" />
|
||||
<RegistryValue Root="HKCR" Key="Python.NoConFile\shellex\DropHandler" Value="{BEA218D2-6950-497B-9434-61683EC065FE}" Type="string" />
|
||||
|
||||
<ProgId Id="Python.CompiledFile" Description="!(loc.PythonCompiledFileDescription)" Advertise="no" Icon="py.exe" IconIndex="2">
|
||||
<Extension Id="pyc">
|
||||
|
@ -25,21 +25,21 @@
|
|||
</Extension>
|
||||
<Extension Id="pyo" />
|
||||
</ProgId>
|
||||
<RegistryValue Root="HKCR" Key="Python.CompiledFile\shellex\DropHandler" Value="{60254CA5-953B-11CF-8C96-00AA00B8708C}" Type="string" />
|
||||
<RegistryValue Root="HKCR" Key="Python.CompiledFile\shellex\DropHandler" Value="{BEA218D2-6950-497B-9434-61683EC065FE}" Type="string" />
|
||||
|
||||
<ProgId Id="Python.ArchiveFile" Description="!(loc.PythonArchiveFileDescription)" Advertise="no" Icon="py.exe" IconIndex="1">
|
||||
<Extension Id="pyz" ContentType="application/x-zip-compressed">
|
||||
<Verb Id="open" TargetFile="py.exe" Argument=""%L" %*" />
|
||||
</Extension>
|
||||
</ProgId>
|
||||
<RegistryValue Root="HKCR" Key="Python.ArchiveFile\shellex\DropHandler" Value="{60254CA5-953B-11CF-8C96-00AA00B8708C}" Type="string" />
|
||||
<RegistryValue Root="HKCR" Key="Python.ArchiveFile\shellex\DropHandler" Value="{BEA218D2-6950-497B-9434-61683EC065FE}" Type="string" />
|
||||
|
||||
<ProgId Id="Python.NoConArchiveFile" Description="!(loc.PythonNoConArchiveFileDescription)" Advertise="no" Icon="py.exe" IconIndex="1">
|
||||
<Extension Id="pyzw" ContentType="application/x-zip-compressed">
|
||||
<Verb Id="open" TargetFile="pyw.exe" Argument=""%L" %*" />
|
||||
</Extension>
|
||||
</ProgId>
|
||||
<RegistryValue Root="HKCR" Key="Python.NoConArchiveFile\shellex\DropHandler" Value="{60254CA5-953B-11CF-8C96-00AA00B8708C}" Type="string" />
|
||||
<RegistryValue Root="HKCR" Key="Python.NoConArchiveFile\shellex\DropHandler" Value="{BEA218D2-6950-497B-9434-61683EC065FE}" Type="string" />
|
||||
</Component>
|
||||
</ComponentGroup>
|
||||
</Fragment>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue