summaryrefslogtreecommitdiff
path: root/Tools/msi/launcher
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/msi/launcher')
-rw-r--r--Tools/msi/launcher/launcher.wixproj20
-rw-r--r--Tools/msi/launcher/launcher.wxs31
-rw-r--r--Tools/msi/launcher/launcher_en-US.wxl8
-rw-r--r--Tools/msi/launcher/launcher_files.wxs24
-rw-r--r--Tools/msi/launcher/launcher_reg.wxs32
5 files changed, 115 insertions, 0 deletions
diff --git a/Tools/msi/launcher/launcher.wixproj b/Tools/msi/launcher/launcher.wixproj
new file mode 100644
index 0000000000..73f26a8e19
--- /dev/null
+++ b/Tools/msi/launcher/launcher.wixproj
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{921CF0E6-AEBC-4376-BA1D-CD46EBFE6DA5}</ProjectGuid>
+ <SchemaVersion>2.0</SchemaVersion>
+ <OutputName>launcher</OutputName>
+ <OutputType>Package</OutputType>
+ </PropertyGroup>
+ <Import Project="..\msi.props" />
+ <ItemGroup>
+ <Compile Include="launcher.wxs" />
+ <Compile Include="launcher_files.wxs" />
+ <Compile Include="launcher_reg.wxs" />
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="*.wxl" />
+ </ItemGroup>
+
+ <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
new file mode 100644
index 0000000000..b20cff859d
--- /dev/null
+++ b/Tools/msi/launcher/launcher.wxs
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+ <Product Id="*" Language="!(loc.LCID)" Name="!(loc.Title)" Version="$(var.Version)" Manufacturer="!(loc.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
+ <Package InstallerVersion="300" Compressed="yes" InstallScope="perUser" Platform="$(var.Platform)" />
+ <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
+
+ <Property Id="Suppress_TARGETDIR_Check" Value="1" />
+ <PropertyRef Id="UpgradeTable" />
+ <PropertyRef Id="ARPPRODUCTICON" />
+
+ <Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
+ <ComponentGroupRef Id="launcher_exe" Primary="yes" />
+ </Feature>
+ <Feature Id="AssociateFiles" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
+ <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>
+ </InstallExecuteSequence>
+ </Product>
+</Wix>
diff --git a/Tools/msi/launcher/launcher_en-US.wxl b/Tools/msi/launcher/launcher_en-US.wxl
new file mode 100644
index 0000000000..a88f221cf0
--- /dev/null
+++ b/Tools/msi/launcher/launcher_en-US.wxl
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
+ <String Id="Descriptor">Launcher</String>
+ <String Id="ShortDescriptor">launcher</String>
+ <String Id="PythonFileDescription">Python File</String>
+ <String Id="PythonNoConFileDescription">Python File (no console)</String>
+ <String Id="PythonCompiledFileDescription">Compiled Python File</String>
+</WixLocalization>
diff --git a/Tools/msi/launcher/launcher_files.wxs b/Tools/msi/launcher/launcher_files.wxs
new file mode 100644
index 0000000000..9606dc6dd2
--- /dev/null
+++ b/Tools/msi/launcher/launcher_files.wxs
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+ <Fragment>
+ <ComponentGroup Id="launcher_exe">
+ <Component Id="py.exe" Directory="LauncherInstallDirectory" Guid="{B5107402-6958-461B-8B0A-4037D3327160}">
+ <File Id="py.exe" Name="py.exe" Source="py.exe" KeyPath="yes" />
+ </Component>
+ <Component Id="pyw.exe" Directory="LauncherInstallDirectory" Guid="{8E52B8CD-48BB-4D74-84CD-6238BCD11F20}">
+ <File Id="pyw.exe" Name="pyw.exe" Source="pyw.exe" KeyPath="yes" />
+ </Component>
+
+ <Component Id="launcher_path_cu" Directory="LauncherInstallDirectory" Guid="{95AEB930-367C-475C-A17E-A89BFCD4C670}">
+ <Condition>NOT ALLUSERS=1</Condition>
+
+ <RegistryValue KeyPath="yes" Root="HKMU" Key="Software\Python\PyLauncher\InstallDir" Value="[LauncherInstallDirectory]" Type="string" />
+ <Environment Id="PATH_CU" Action="set" Name="PATH" Part="first" Value="[LauncherInstallDirectory]" />
+ </Component>
+ <Component Id="launcher_path_lm" Directory="LauncherInstallDirectory" Guid="{4A41C365-4E27-4D38-A6D1-4A01B4A6500C}">
+ <Condition>ALLUSERS=1</Condition>
+ <RegistryValue KeyPath="yes" Root="HKMU" Key="Software\Python\PyLauncher\InstallDir" Value="[LauncherInstallDirectory]" Type="string" />
+ </Component>
+ </ComponentGroup>
+ </Fragment>
+</Wix>
diff --git a/Tools/msi/launcher/launcher_reg.wxs b/Tools/msi/launcher/launcher_reg.wxs
new file mode 100644
index 0000000000..aab3d11bf8
--- /dev/null
+++ b/Tools/msi/launcher/launcher_reg.wxs
@@ -0,0 +1,32 @@
+<?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\AssociateFiles" Value="1" Type="integer" />
+
+ <ProgId Id="$(var.TestPrefix)Python.File" Description="!(loc.PythonFileDescription)" Advertise="no" Icon="py.exe" IconIndex="1">
+ <Extension Id="$(var.FileExtension)" ContentType="text/plain">
+ <Verb Id="open" TargetFile="py.exe" Argument="&quot;%L&quot; %*" />
+ </Extension>
+ </ProgId>
+ <RegistryValue Root="HKCR" Key="$(var.TestPrefix)Python.File\shellex\DropHandler" Value="{60254CA5-953B-11CF-8C96-00AA00B8708C}" Type="string" />
+
+ <ProgId Id="$(var.TestPrefix)Python.NoConFile" Description="!(loc.PythonNoConFileDescription)" Advertise="no" Icon="py.exe" IconIndex="1">
+ <Extension Id="$(var.FileExtension)w" ContentType="text/plain">
+ <Verb Id="open" TargetFile="pyw.exe" Argument="&quot;%L&quot; %*" />
+ </Extension>
+ </ProgId>
+ <RegistryValue Root="HKCR" Key="$(var.TestPrefix)Python.NoConFile\shellex\DropHandler" Value="{60254CA5-953B-11CF-8C96-00AA00B8708C}" Type="string" />
+
+ <ProgId Id="$(var.TestPrefix)Python.CompiledFile" Description="!(loc.PythonCompiledFileDescription)" Advertise="no" Icon="py.exe" IconIndex="2">
+ <Extension Id="$(var.FileExtension)c">
+ <Verb Id="open" TargetFile="py.exe" Argument="&quot;%L&quot; %*" />
+ </Extension>
+ <Extension Id="$(var.FileExtension)o" />
+ </ProgId>
+ <RegistryValue Root="HKCR" Key="$(var.TestPrefix)Python.CompiledFile\shellex\DropHandler" Value="{60254CA5-953B-11CF-8C96-00AA00B8708C}" Type="string" />
+ </Component>
+ </ComponentGroup>
+ </Fragment>
+</Wix>