summaryrefslogtreecommitdiff
path: root/Tools/msi/exe
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/msi/exe')
-rw-r--r--Tools/msi/exe/crtlicense.txt44
-rw-r--r--Tools/msi/exe/exe.wixproj43
-rw-r--r--Tools/msi/exe/exe.wxs28
-rw-r--r--Tools/msi/exe/exe_d.wixproj20
-rw-r--r--Tools/msi/exe/exe_d.wxs13
-rw-r--r--Tools/msi/exe/exe_en-US.wxl_template7
-rw-r--r--Tools/msi/exe/exe_files.wxs68
-rw-r--r--Tools/msi/exe/exe_pdb.wixproj20
-rw-r--r--Tools/msi/exe/exe_pdb.wxs13
9 files changed, 256 insertions, 0 deletions
diff --git a/Tools/msi/exe/crtlicense.txt b/Tools/msi/exe/crtlicense.txt
new file mode 100644
index 0000000000..936bc5ad53
--- /dev/null
+++ b/Tools/msi/exe/crtlicense.txt
@@ -0,0 +1,44 @@
+
+
+Additional Conditions for this Windows binary build
+---------------------------------------------------
+
+This program is linked with and uses Microsoft Distributable Code,
+copyrighted by Microsoft Corporation. The Microsoft Distributable Code
+includes the following files:
+
+msvcr90.dll
+msvcp90.dll
+msvcm90.dll
+
+If you further distribute programs that include the Microsoft
+Distributable Code, you must comply with the restrictions on
+distribution specified by Microsoft. In particular, you must require
+distributors and external end users to agree to terms that protect the
+Microsoft Distributable Code at least as much as Microsoft's own
+requirements for the Distributable Code. See Microsoft's documentation
+(included in its developer tools and on its website at microsoft.com)
+for specific details.
+
+Redistribution of the Windows binary build of the Python interpreter
+complies with this agreement, provided that you do not:
+
+- alter any copyright, trademark or patent notice in Microsoft's
+Distributable Code;
+
+- use Microsoft's trademarks in your programs' names or in a way that
+suggests your programs come from or are endorsed by Microsoft;
+
+- distribute Microsoft's Distributable Code to run on a platform other
+than Microsoft operating systems, run-time technologies or application
+platforms; or
+
+- include Microsoft Distributable Code in malicious, deceptive or
+unlawful programs.
+
+These restrictions apply only to the Microsoft Distributable Code as
+defined above, not to Python itself or any programs running on the
+Python interpreter. The redistribution of the Python interpreter and
+libraries is governed by the Python Software License included with this
+file, or by other licenses as marked.
+
diff --git a/Tools/msi/exe/exe.wixproj b/Tools/msi/exe/exe.wixproj
new file mode 100644
index 0000000000..d26a603268
--- /dev/null
+++ b/Tools/msi/exe/exe.wixproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{6BD53305-B03E-49DC-85FB-5551B8CCC843}</ProjectGuid>
+ <SchemaVersion>2.0</SchemaVersion>
+ <OutputName>exe</OutputName>
+ <OutputType>Package</OutputType>
+ </PropertyGroup>
+ <PropertyGroup>
+ <!-- Shortcut validation is not necessary -->
+ <SuppressICEs>ICE43</SuppressICEs>
+ </PropertyGroup>
+ <Import Project="..\msi.props" />
+ <ItemGroup>
+ <Compile Include="exe.wxs" />
+ <Compile Include="exe_files.wxs" />
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="*.wxl" />
+ <WxlTemplate Include="*.wxl_template" />
+ </ItemGroup>
+
+ <Target Name="_GenerateLicense" AfterTargets="PrepareForBuild">
+ <ItemGroup>
+ <LicenseFiles Include="$(PySourcePath)LICENSE;
+ crtlicense.txt;
+ $(bz2Dir)LICENSE;
+ $(opensslDir)LICENSE;
+ $(tclDir)license.terms;
+ $(tkDir)license.terms;
+ $(tixDir)license.terms" />
+ <_LicenseFiles Include="@(LicenseFiles)">
+ <Content>$([System.IO.File]::ReadAllText(%(FullPath)))</Content>
+ </_LicenseFiles>
+ </ItemGroup>
+
+ <WriteLinesToFile File="$(BuildPath)LICENSE"
+ Overwrite="true"
+ Lines="@(_LicenseFiles->'%(Content)')" />
+ </Target>
+
+ <Import Project="..\msi.targets" />
+</Project> \ No newline at end of file
diff --git a/Tools/msi/exe/exe.wxs b/Tools/msi/exe/exe.wxs
new file mode 100644
index 0000000000..9696c89941
--- /dev/null
+++ b/Tools/msi/exe/exe.wxs
@@ -0,0 +1,28 @@
+<?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" />
+
+ <PropertyRef Id="UpgradeTable" />
+ <PropertyRef Id="REGISTRYKEY" />
+
+ <Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
+ <ComponentGroupRef Id="exe_python" />
+ <ComponentGroupRef Id="exe_txt" />
+ <ComponentGroupRef Id="exe_icons" />
+
+ <Component Id="exe_shortcut" Directory="MenuDir" Guid="*">
+ <Shortcut Id="python.exe"
+ Target="[#python.exe]"
+ Name="!(loc.ShortcutName)"
+ Description="!(loc.ShortcutDescription)" />
+ <RemoveFolder Id="Remove_MenuDir" Directory="MenuDir" On="uninstall" />
+ <RegistryKey Root="HKMU" Key="[REGISTRYKEY]">
+ <RegistryValue Key="InstallPath" Type="string" Value="[InstallDirectory]" KeyPath="yes" />
+ <RegistryValue Key="InstallPath\InstallGroup" Type="string" Value="Python $(var.ShortVersion)" />
+ </RegistryKey>
+ </Component>
+ </Feature>
+ </Product>
+</Wix>
diff --git a/Tools/msi/exe/exe_d.wixproj b/Tools/msi/exe/exe_d.wixproj
new file mode 100644
index 0000000000..27545caf7d
--- /dev/null
+++ b/Tools/msi/exe/exe_d.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>{B1CA739C-8DB0-403B-9010-D79507507CE9}</ProjectGuid>
+ <SchemaVersion>2.0</SchemaVersion>
+ <OutputName>exe_d</OutputName>
+ <OutputType>Package</OutputType>
+ </PropertyGroup>
+ <Import Project="..\msi.props" />
+ <ItemGroup>
+ <Compile Include="exe_d.wxs" />
+ <Compile Include="exe_files.wxs" />
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="*.wxl" />
+ <WxlTemplate Include="*.wxl_template" />
+ </ItemGroup>
+
+ <Import Project="..\msi.targets" />
+</Project> \ No newline at end of file
diff --git a/Tools/msi/exe/exe_d.wxs b/Tools/msi/exe/exe_d.wxs
new file mode 100644
index 0000000000..abcb012661
--- /dev/null
+++ b/Tools/msi/exe/exe_d.wxs
@@ -0,0 +1,13 @@
+<?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" />
+
+ <PropertyRef Id="UpgradeTable" />
+
+ <Feature Id="DebugBinaries" AllowAdvertise="no" Title="!(loc.Title_d)" Description="!(loc.Description_d)">
+ <ComponentGroupRef Id="exe_python_d" />
+ </Feature>
+ </Product>
+</Wix>
diff --git a/Tools/msi/exe/exe_en-US.wxl_template b/Tools/msi/exe/exe_en-US.wxl_template
new file mode 100644
index 0000000000..577fbe51a5
--- /dev/null
+++ b/Tools/msi/exe/exe_en-US.wxl_template
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
+ <String Id="Descriptor">Executables</String>
+ <String Id="ShortDescriptor">executable</String>
+ <String Id="ShortcutName">Python {{ShortVersion}} ({{Bitness}})</String>
+ <String Id="ShortcutDescription">Launches the !(loc.ProductName) interpreter.</String>
+</WixLocalization>
diff --git a/Tools/msi/exe/exe_files.wxs b/Tools/msi/exe/exe_files.wxs
new file mode 100644
index 0000000000..4091398297
--- /dev/null
+++ b/Tools/msi/exe/exe_files.wxs
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+ <Fragment>
+ <ComponentGroup Id="exe_txt">
+ <Component Id="LICENSE.txt" Directory="InstallDirectory" Guid="*">
+ <File Name="LICENSE.txt" Source="LICENSE" KeyPath="yes" />
+ </Component>
+ <Component Id="NEWS.txt" Directory="InstallDirectory" Guid="*">
+ <File Name="NEWS.txt" Source="!(bindpath.src)Misc\NEWS" KeyPath="yes" />
+ </Component>
+ <Component Id="README.txt" Directory="InstallDirectory" Guid="*">
+ <File Name="README.txt" Source="!(bindpath.src)README" KeyPath="yes" />
+ </Component>
+ </ComponentGroup>
+ </Fragment>
+
+ <Fragment>
+ <PropertyRef Id="REGISTRYKEY" />
+
+ <ComponentGroup Id="exe_python">
+ <Component Id="python.exe" Directory="InstallDirectory" Guid="$(var.PythonExeComponentGuid)">
+ <File Name="python.exe" KeyPath="yes" />
+ </Component>
+ <Component Id="pythonw.exe" Directory="InstallDirectory" Guid="$(var.PythonwExeComponentGuid)">
+ <File Name="pythonw.exe" KeyPath="yes" />
+ </Component>
+ </ComponentGroup>
+ </Fragment>
+
+ <Fragment>
+ <ComponentGroup Id="exe_python_symbols">
+ <Component Id="python.pdb" Directory="InstallDirectory" Guid="*">
+ <File Name="python.pdb" />
+ </Component>
+ <Component Id="pythonw.pdb" Directory="InstallDirectory" Guid="*">
+ <File Name="pythonw.pdb" />
+ </Component>
+ </ComponentGroup>
+ </Fragment>
+
+ <Fragment>
+ <ComponentGroup Id="exe_python_d">
+ <Component Id="python_d.exe" Directory="InstallDirectory" Guid="*">
+ <File Name="python_d.exe" />
+ </Component>
+ <Component Id="python_d.pdb" Directory="InstallDirectory" Guid="*">
+ <File Name="python_d.pdb" />
+ </Component>
+ <Component Id="pythonw_d.exe" Directory="InstallDirectory" Guid="*">
+ <File Name="pythonw_d.exe" />
+ </Component>
+ <Component Id="pythonw_d.pdb" Directory="InstallDirectory" Guid="*">
+ <File Name="pythonw_d.pdb" />
+ </Component>
+ </ComponentGroup>
+ </Fragment>
+
+ <Fragment>
+ <ComponentGroup Id="exe_icons">
+ <Component Id="py.ico" Directory="DLLs" Guid="*">
+ <File Name="py.ico" Source="!(bindpath.src)PC\py.ico" KeyPath="yes" />
+ </Component>
+ <Component Id="pyc.ico" Directory="DLLs" Guid="*">
+ <File Name="pyc.ico" Source="!(bindpath.src)PC\pyc.ico" KeyPath="yes" />
+ </Component>
+ </ComponentGroup>
+ </Fragment>
+</Wix>
diff --git a/Tools/msi/exe/exe_pdb.wixproj b/Tools/msi/exe/exe_pdb.wixproj
new file mode 100644
index 0000000000..4f4c869926
--- /dev/null
+++ b/Tools/msi/exe/exe_pdb.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>{4A1F7045-8EE2-4276-ABB8-5E0C40E5F38B}</ProjectGuid>
+ <SchemaVersion>2.0</SchemaVersion>
+ <OutputName>exe_pdb</OutputName>
+ <OutputType>Package</OutputType>
+ </PropertyGroup>
+ <Import Project="..\msi.props" />
+ <ItemGroup>
+ <Compile Include="exe_pdb.wxs" />
+ <Compile Include="exe_files.wxs" />
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="*.wxl" />
+ <WxlTemplate Include="*.wxl_template" />
+ </ItemGroup>
+
+ <Import Project="..\msi.targets" />
+</Project> \ No newline at end of file
diff --git a/Tools/msi/exe/exe_pdb.wxs b/Tools/msi/exe/exe_pdb.wxs
new file mode 100644
index 0000000000..5129ec00b1
--- /dev/null
+++ b/Tools/msi/exe/exe_pdb.wxs
@@ -0,0 +1,13 @@
+<?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" />
+
+ <PropertyRef Id="UpgradeTable" />
+
+ <Feature Id="Symbols" AllowAdvertise="no" Title="!(loc.TitlePdb)" Description="!(loc.DescriptionPdb)">
+ <ComponentGroupRef Id="exe_python_symbols" />
+ </Feature>
+ </Product>
+</Wix>