| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  | <?xml version="1.0" encoding="utf-8"?> | 
					
						
							|  |  |  | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" TreatAsLocalProperty="ReleaseUri"> | 
					
						
							|  |  |  |     <PropertyGroup> | 
					
						
							| 
									
										
										
										
											2015-02-28 19:53:50 -08:00
										 |  |  |         <TargetName>$(OutputName)</TargetName> | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |         <DefineSolutionProperties>false</DefineSolutionProperties> | 
					
						
							|  |  |  |         <TreatWarningsAsErrors>false</TreatWarningsAsErrors> | 
					
						
							|  |  |  |         <SuppressIces>$(SuppressIces);ICE03;ICE57;ICE61</SuppressIces> | 
					
						
							|  |  |  |         <CompilerSuppressSpecificWarnings>1026</CompilerSuppressSpecificWarnings> | 
					
						
							|  |  |  |         <BuildForRelease Condition="'$(BuildForRelease)' == ''">false</BuildForRelease> | 
					
						
							|  |  |  |         <SignOutput Condition="'$(SigningCertificate)' != ''">true</SignOutput> | 
					
						
							|  |  |  |         <Configuration Condition="'$(Configuration)' == ''">Release</Configuration> | 
					
						
							|  |  |  |         <Platform Condition="'$(Platform)' == ''">x86</Platform> | 
					
						
							|  |  |  |         <InstallScope Condition="'$(InstallScope)' != 'perMachine'">perUser</InstallScope> | 
					
						
							| 
									
										
										
										
											2016-10-09 20:18:52 -07:00
										 |  |  |         <_MakeCatCommand Condition="'$(_MakeCatCommand)' == ''">makecat</_MakeCatCommand> | 
					
						
							| 
									
										
										
										
											2015-10-01 15:18:53 -07:00
										 |  |  |     </PropertyGroup> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <Import Project="wix.props" /> | 
					
						
							| 
									
										
										
										
											2017-09-25 18:58:10 +02:00
										 |  |  |     <Import Project="..\..\PCbuild\tcltk.props" /> | 
					
						
							| 
									
										
										
										
											2015-10-01 15:18:53 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <PropertyGroup> | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |         <!-- | 
					
						
							|  |  |  |         This URI is used to generate the various GUIDs used by the installer. | 
					
						
							|  |  |  |         Installers built with the same URI will upgrade each other or block | 
					
						
							|  |  |  |         when attempting to downgrade. | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |         By default, this is the local computer name, which will produce | 
					
						
							|  |  |  |         installers that do not interfere with other installers. Products | 
					
						
							|  |  |  |         that intend to bundle Python should rebuild these modules with their | 
					
						
							|  |  |  |         own URI to avoid conflicting with the official releases. | 
					
						
							|  |  |  |          | 
					
						
							| 
									
										
										
										
											2015-10-01 15:18:53 -07:00
										 |  |  |         The official releases use "http://www.python.org/$(ArchName)" | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |          | 
					
						
							|  |  |  |         This is not the same as the DownloadUrl property used in the bundle | 
					
						
							|  |  |  |         projects. | 
					
						
							|  |  |  |         --> | 
					
						
							| 
									
										
										
										
											2015-10-01 15:18:53 -07:00
										 |  |  |         <ReleaseUri Condition="'$(ReleaseUri)' == ''">$(ComputerName)/$(ArchName)/</ReleaseUri> | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |         <ReleaseUri Condition="!$(ReleaseUri.EndsWith(`/`))">$(ReleaseUri)/</ReleaseUri> | 
					
						
							|  |  |  |     </PropertyGroup> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     <ItemGroup> | 
					
						
							|  |  |  |         <Compile Include="$(MSBuildThisFileDirectory)common.wxs" /> | 
					
						
							| 
									
										
										
										
											2016-05-18 15:54:05 -07:00
										 |  |  |         <WxlTemplate Include="$(MSBuildThisFileDirectory)\*.wxl_template" Condition="$(IgnoreCommonWxlTemplates) != 'true'" /> | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |         <WixExtension Include="WixUtilExtension"> | 
					
						
							|  |  |  |             <HintPath>WixUtilExtension</HintPath> | 
					
						
							|  |  |  |             <Name>WixUtilExtension</Name> | 
					
						
							|  |  |  |         </WixExtension> | 
					
						
							|  |  |  |     </ItemGroup> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <PropertyGroup> | 
					
						
							| 
									
										
										
										
											2017-10-05 13:35:36 -07:00
										 |  |  |         <IntermediateOutputPath>$(Py_IntDir)\$(MajorVersionNumber)$(MinorVersionNumber)$(ArchName)_$(Configuration)\msi_$(OutputName)</IntermediateOutputPath> | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |         <IntermediateOutputPath Condition="'$(OutputSuffix)' != ''">$(IntermediateOutputPath)_$(OutputSuffix)</IntermediateOutputPath> | 
					
						
							|  |  |  |         <OutputPath Condition="'$(OutputPath)' == ''">$(BuildPath)</OutputPath> | 
					
						
							|  |  |  |         <OutputPath Condition="!HasTrailingSlash($(OutputPath))">$(OutputPath)\</OutputPath> | 
					
						
							|  |  |  |         <OutDir>$(OutputPath)</OutDir> | 
					
						
							|  |  |  |         <ReuseCabinetCache>true</ReuseCabinetCache> | 
					
						
							| 
									
										
										
										
											2018-01-09 19:14:46 +11:00
										 |  |  |         <CRTRedist Condition="'$(CRTRedist)' == ''">$(ExternalsDir)\windows-installer\redist-1\$(Platform)</CRTRedist> | 
					
						
							|  |  |  |         <CRTRedist>$([System.IO.Path]::GetFullPath($(CRTRedist)))</CRTRedist> | 
					
						
							| 
									
										
										
										
											2015-03-24 21:25:16 -07:00
										 |  |  |         <DocFilename>python$(MajorVersionNumber)$(MinorVersionNumber)$(MicroVersionNumber)$(ReleaseLevelName).chm</DocFilename> | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-08 22:43:48 -07:00
										 |  |  |         <InstallerVersion>$(MajorVersionNumber).$(MinorVersionNumber).$(Field3Value).0</InstallerVersion> | 
					
						
							|  |  |  |     </PropertyGroup> | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     <PropertyGroup Condition="!$(BuildForRelease)"> | 
					
						
							|  |  |  |         <RevisionNumber Condition="'$(RevisionNumber)' == ''">$([System.Math]::Floor($([System.DateTime]::Now.Subtract($([System.DateTime]::new(2001, 1, 1))).TotalDays)))</RevisionNumber> | 
					
						
							|  |  |  |         <PythonVersion>$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)dev$(RevisionNumber)</PythonVersion> | 
					
						
							|  |  |  |         <InstallerVersion>$(MajorVersionNumber).$(MinorVersionNumber).$(RevisionNumber).0</InstallerVersion> | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |     </PropertyGroup> | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     <PropertyGroup> | 
					
						
							|  |  |  |         <Bitness>32-bit</Bitness> | 
					
						
							|  |  |  |         <Bitness Condition="$(Platform) == 'x64'">64-bit</Bitness> | 
					
						
							| 
									
										
										
										
											2016-07-24 18:04:29 -07:00
										 |  |  |         <PlatformArchitecture>32bit</PlatformArchitecture> | 
					
						
							|  |  |  |         <PlatformArchitecture Condition="$(Platform) == 'x64'">64bit</PlatformArchitecture> | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |         <DefineConstants> | 
					
						
							|  |  |  |             $(DefineConstants); | 
					
						
							| 
									
										
										
										
											2015-07-08 22:43:48 -07:00
										 |  |  |             Version=$(InstallerVersion); | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |             ShortVersion=$(MajorVersionNumber).$(MinorVersionNumber); | 
					
						
							|  |  |  |             LongVersion=$(PythonVersion); | 
					
						
							|  |  |  |             MajorVersionNumber=$(MajorVersionNumber); | 
					
						
							|  |  |  |             MinorVersionNumber=$(MinorVersionNumber); | 
					
						
							|  |  |  |             UpgradeMinimumVersion=$(MajorVersionNumber).$(MinorVersionNumber).0.0; | 
					
						
							|  |  |  |             NextMajorVersionNumber=$(MajorVersionNumber).$([msbuild]::Add($(MinorVersionNumber), 1)).0.0; | 
					
						
							| 
									
										
										
										
											2015-03-24 21:25:16 -07:00
										 |  |  |             Bitness=$(Bitness); | 
					
						
							| 
									
										
										
										
											2016-07-24 18:04:29 -07:00
										 |  |  |             PlatformArchitecture=$(PlatformArchitecture); | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |             PyDebugExt=$(PyDebugExt); | 
					
						
							| 
									
										
										
										
											2015-10-31 12:17:11 -07:00
										 |  |  |             PyArchExt=$(PyArchExt); | 
					
						
							|  |  |  |             PyTestExt=$(PyTestExt); | 
					
						
							| 
									
										
										
										
											2015-07-08 20:18:44 -07:00
										 |  |  |             OptionalFeatureName=$(OutputName); | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |         </DefineConstants> | 
					
						
							|  |  |  |         <DefineConstants Condition="'$(CRTRedist)' != ''"> | 
					
						
							|  |  |  |             $(DefineConstants);CRTRedist=$(CRTRedist); | 
					
						
							|  |  |  |         </DefineConstants> | 
					
						
							|  |  |  |         <DefineConstants Condition="$(Platform) != 'x64'"> | 
					
						
							| 
									
										
										
										
											2017-09-09 06:13:06 -07:00
										 |  |  |             $(DefineConstants);Suffix32=-32;ssltag=-1_1; | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |         </DefineConstants> | 
					
						
							|  |  |  |         <DefineConstants Condition="$(Platform) == 'x64'"> | 
					
						
							| 
									
										
										
										
											2017-09-09 06:13:06 -07:00
										 |  |  |             $(DefineConstants);Suffix32=;ssltag=-1_1-x64; | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |         </DefineConstants> | 
					
						
							|  |  |  |     </PropertyGroup> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <ItemDefinitionGroup> | 
					
						
							|  |  |  |         <InstallFiles> | 
					
						
							|  |  |  |             <Group>generated_filelist</Group> | 
					
						
							|  |  |  |             <Condition></Condition> | 
					
						
							|  |  |  |             <DiskId></DiskId> | 
					
						
							| 
									
										
										
										
											2016-10-09 20:18:52 -07:00
										 |  |  |             <IncludeInCat>false</IncludeInCat> | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |         </InstallFiles> | 
					
						
							|  |  |  |         <LinkerBindInputPaths> | 
					
						
							|  |  |  |             <Visible>false</Visible> | 
					
						
							|  |  |  |         </LinkerBindInputPaths> | 
					
						
							|  |  |  |     </ItemDefinitionGroup> | 
					
						
							|  |  |  |     <ItemGroup> | 
					
						
							| 
									
										
										
										
											2015-10-14 10:40:09 -07:00
										 |  |  |         <LinkerBindInputPaths Include="$(PGOBuildPath);$(BuildPath)"> | 
					
						
							|  |  |  |             <BindName></BindName> | 
					
						
							|  |  |  |         </LinkerBindInputPaths> | 
					
						
							|  |  |  |         <LinkerBindInputPaths Include="$(PySourcePath)Doc\build\htmlhelp"> | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |             <BindName></BindName> | 
					
						
							|  |  |  |         </LinkerBindInputPaths> | 
					
						
							|  |  |  |         <LinkerBindInputPaths Include="$(PySourcePath)"> | 
					
						
							|  |  |  |             <BindName>src</BindName> | 
					
						
							|  |  |  |         </LinkerBindInputPaths> | 
					
						
							|  |  |  |         <LinkerBindInputPaths Include="$(tcltkDir)"> | 
					
						
							|  |  |  |             <BindName>tcltk</BindName> | 
					
						
							|  |  |  |         </LinkerBindInputPaths> | 
					
						
							| 
									
										
										
										
											2018-01-09 19:14:46 +11:00
										 |  |  |         <LinkerBindInputPaths Include="$(CRTRedist)"> | 
					
						
							| 
									
										
										
										
											2015-09-08 21:39:01 -07:00
										 |  |  |             <BindName>redist</BindName> | 
					
						
							|  |  |  |         </LinkerBindInputPaths> | 
					
						
							| 
									
										
										
										
											2016-07-16 16:13:19 -07:00
										 |  |  |         <LinkerBindInputPaths Include="$(BuildPath32)"> | 
					
						
							|  |  |  |             <BindName>build32</BindName> | 
					
						
							|  |  |  |         </LinkerBindInputPaths> | 
					
						
							|  |  |  |         <LinkerBindInputPaths Include="$(BuildPath64)"> | 
					
						
							|  |  |  |             <BindName>build64</BindName> | 
					
						
							|  |  |  |         </LinkerBindInputPaths> | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |     </ItemGroup> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <Target Name="_ValidateMsiProps" BeforeTargets="PrepareForBuild"> | 
					
						
							|  |  |  |         <Error Text="Platform '$(Platform)' is not supported. Use 'x86' or 'x64'." Condition="$(Platform) != 'x86' and $(Platform) != 'x64'" /> | 
					
						
							|  |  |  |     </Target> | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     <ItemGroup> | 
					
						
							|  |  |  |         <_Uuid Include="CoreUpgradeCode"> | 
					
						
							|  |  |  |             <Uri>upgradecode</Uri> | 
					
						
							|  |  |  |         </_Uuid> | 
					
						
							|  |  |  |         <_Uuid Include="UpgradeCode"> | 
					
						
							|  |  |  |             <Uri>upgradecode/$(OutputName)</Uri> | 
					
						
							|  |  |  |         </_Uuid> | 
					
						
							|  |  |  |         <_Uuid Include="InstallDirectoryGuidSeed"> | 
					
						
							|  |  |  |             <Uri>installdirectoryseed</Uri> | 
					
						
							|  |  |  |         </_Uuid> | 
					
						
							|  |  |  |         <_Uuid Include="PythonExeComponentGuid"> | 
					
						
							|  |  |  |             <Uri>python.exe</Uri> | 
					
						
							|  |  |  |         </_Uuid> | 
					
						
							|  |  |  |         <_Uuid Include="PythonwExeComponentGuid"> | 
					
						
							|  |  |  |             <Uri>pythonw.exe</Uri> | 
					
						
							|  |  |  |         </_Uuid> | 
					
						
							|  |  |  |         <_Uuid Include="RemoveLib2to3PickleComponentGuid"> | 
					
						
							|  |  |  |             <Uri>lib2to3/pickles</Uri> | 
					
						
							|  |  |  |         </_Uuid> | 
					
						
							| 
									
										
										
										
											2016-07-24 18:04:29 -07:00
										 |  |  |         <_Uuid Include="CommonPythonRegComponentGuid"> | 
					
						
							|  |  |  |             <Uri>registry</Uri> | 
					
						
							|  |  |  |         </_Uuid> | 
					
						
							|  |  |  |         <_Uuid Include="PythonRegComponentGuid"> | 
					
						
							|  |  |  |             <Uri>registry/$(OutputName)</Uri> | 
					
						
							|  |  |  |         </_Uuid> | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |     </ItemGroup> | 
					
						
							| 
									
										
										
										
											2016-05-18 15:54:05 -07:00
										 |  |  |     <Target Name="_GenerateGuids" AfterTargets="PrepareForBuild" Condition="$(TargetName) != 'launcher'"> | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |         <PropertyGroup> | 
					
						
							| 
									
										
										
										
											2015-03-08 15:29:39 -07:00
										 |  |  |             <_Uuids>@(_Uuid->'("%(Identity)", "$(MajorVersionNumber).$(MinorVersionNumber)/%(Uri)")',',')</_Uuids> | 
					
						
							| 
									
										
										
										
											2015-10-01 15:18:53 -07:00
										 |  |  |             <_GenerateCommand>import uuid; print('\n'.join('{}={}'.format(i, uuid.uuid5(uuid.UUID('c8d9733e-a70c-43ff-ab0c-e26456f11083'), '$(ReleaseUri.Replace(`{arch}`, `$(ArchName)`))' + j)) for i,j in [$(_Uuids.Replace(`"`,`'`))]))</_GenerateCommand> | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |         </PropertyGroup> | 
					
						
							|  |  |  |          | 
					
						
							| 
									
										
										
										
											2015-05-02 15:23:27 -07:00
										 |  |  |         <Exec Command='"$(PythonExe)" -c "$(_GenerateCommand)" > "$(IntermediateOutputPath)$(OutputName)guids.txt"' | 
					
						
							|  |  |  |               WorkingDirectory="$(MSBuildThisFileDirectory)" | 
					
						
							|  |  |  |               IgnoreExitCode="false" /> | 
					
						
							| 
									
										
										
										
											2015-02-05 22:08:48 -08:00
										 |  |  |          | 
					
						
							|  |  |  |         <ReadLinesFromFile File="$(IntermediateOutputPath)$(OutputName)guids.txt"> | 
					
						
							|  |  |  |             <Output TaskParameter="Lines" ItemName="_UuidValue" /> | 
					
						
							|  |  |  |         </ReadLinesFromFile> | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |         <PropertyGroup> | 
					
						
							|  |  |  |             <DefineConstants>$(DefineConstants);@(_UuidValue,';');</DefineConstants> | 
					
						
							|  |  |  |         </PropertyGroup> | 
					
						
							|  |  |  |     </Target> | 
					
						
							|  |  |  | </Project> |