cpython/Tools/msi/launcher/launcher_reg.wxs

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
        <ComponentGroup Id="launcher_reg">
            <Component Id="file_association" Directory="LauncherInstallDirectory" Guid="{5AF84D9A-D820-456B-B230-6E0105A50276}">
                <RegistryValue KeyPath="yes" Root="HKMU" Key="Software\Python\PyLauncher" Name="AssociateFiles" Value="1" Type="integer" />
                
                <ProgId Id="Python.File" Description="!(loc.PythonFileDescription)" Advertise="no" Icon="py.exe" IconIndex="1">
                    <Extension Id="py" ContentType="text/x-python">
                        <Verb Id="open" TargetFile="py.exe" Argument="&quot;%L&quot; %*" />
                    </Extension>
                </ProgId>
                <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/x-python">
                        <Verb Id="open" TargetFile="pyw.exe" Argument="&quot;%L&quot; %*" />
                    </Extension>
                </ProgId>
                <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">
                        <Verb Id="open" TargetFile="py.exe" Argument="&quot;%L&quot; %*" />
                    </Extension>
                    <Extension Id="pyo" />
                </ProgId>
                <RegistryValue Root="HKCR" Key="Python.CompiledFile\shellex\DropHandler" Value="{BEA218D2-6950-497B-9434-61683EC065FE}" Type="string" />

                <ProgId Id="Python.Extension" Description="!(loc.PythonExtensionDescription)" Advertise="no" Icon="py.exe" IconIndex="3">
                    <Extension Id="pyd" />
                </ProgId>

                <ProgId Id="Python.ArchiveFile" Description="!(loc.PythonArchiveFileDescription)" Advertise="no" Icon="py.exe" IconIndex="5">
                    <Extension Id="pyz" ContentType="application/x-zip-compressed">
                        <Verb Id="open" TargetFile="py.exe" Argument="&quot;%L&quot; %*" />
                    </Extension>
                </ProgId>
                <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="5">
                    <Extension Id="pyzw" ContentType="application/x-zip-compressed">
                        <Verb Id="open" TargetFile="pyw.exe" Argument="&quot;%L&quot; %*" />
                    </Extension>
                </ProgId>
                <RegistryValue Root="HKCR" Key="Python.NoConArchiveFile\shellex\DropHandler" Value="{BEA218D2-6950-497B-9434-61683EC065FE}" Type="string" />
            </Component>
        </ComponentGroup>
    </Fragment>
</Wix>