diff options
author | Steve Dower <steve.dower@microsoft.com> | 2016-07-16 23:17:33 (GMT) |
---|---|---|
committer | Steve Dower <steve.dower@microsoft.com> | 2016-07-16 23:17:33 (GMT) |
commit | df450d1a18ba668874a2353a3870ba99c4848a75 (patch) | |
tree | 93d41ac47ec98cfe8d8fe1cc5488efe36aef2ed5 /Tools/msi | |
parent | 5f804e387ebc70effb61dc124f52acef357471b3 (diff) | |
download | cpython-df450d1a18ba668874a2353a3870ba99c4848a75.zip cpython-df450d1a18ba668874a2353a3870ba99c4848a75.tar.gz cpython-df450d1a18ba668874a2353a3870ba99c4848a75.tar.bz2 |
Issue #27469: Adds a shell extension to the launcher so that drag and drop works correctly.
Diffstat (limited to 'Tools/msi')
-rw-r--r-- | Tools/msi/launcher/launcher.wixproj | 14 | ||||
-rw-r--r-- | Tools/msi/launcher/launcher.wxs | 2 | ||||
-rw-r--r-- | Tools/msi/launcher/launcher_files.wxs | 13 | ||||
-rw-r--r-- | Tools/msi/launcher/launcher_reg.wxs | 10 |
4 files changed, 33 insertions, 6 deletions
diff --git a/Tools/msi/launcher/launcher.wixproj b/Tools/msi/launcher/launcher.wixproj index 67fb025..01a9dcb 100644 --- a/Tools/msi/launcher/launcher.wixproj +++ b/Tools/msi/launcher/launcher.wixproj @@ -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>
\ No newline at end of file diff --git a/Tools/msi/launcher/launcher.wxs b/Tools/msi/launcher/launcher.wxs index 80e838a..ebd875c 100644 --- a/Tools/msi/launcher/launcher.wxs +++ b/Tools/msi/launcher/launcher.wxs @@ -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" /> diff --git a/Tools/msi/launcher/launcher_files.wxs b/Tools/msi/launcher/launcher_files.wxs index 589dee5..5b79d76 100644 --- a/Tools/msi/launcher/launcher_files.wxs +++ b/Tools/msi/launcher/launcher_files.wxs @@ -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> diff --git a/Tools/msi/launcher/launcher_reg.wxs b/Tools/msi/launcher/launcher_reg.wxs index bb42255..981961a 100644 --- a/Tools/msi/launcher/launcher_reg.wxs +++ b/Tools/msi/launcher/launcher_reg.wxs @@ -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> |