diff options
author | Steve Dower <steve.dower@microsoft.com> | 2016-05-18 22:54:05 (GMT) |
---|---|---|
committer | Steve Dower <steve.dower@microsoft.com> | 2016-05-18 22:54:05 (GMT) |
commit | 4962141804676b34c372c8d6941eaf8edab3bfce (patch) | |
tree | 5bc3250ab83ff8716fc55bb8b5cfbb2f61c92eb9 /Tools/msi | |
parent | 1cea70f08c0b6aa3fccb246416b367e9afc1932a (diff) | |
download | cpython-4962141804676b34c372c8d6941eaf8edab3bfce.zip cpython-4962141804676b34c372c8d6941eaf8edab3bfce.tar.gz cpython-4962141804676b34c372c8d6941eaf8edab3bfce.tar.bz2 |
Removes versioning from py.exe launcher installer and ensures that old launchers are replaced by newer ones.
Diffstat (limited to 'Tools/msi')
-rw-r--r-- | Tools/msi/common.wxs | 4 | ||||
-rw-r--r-- | Tools/msi/launcher/launcher.wixproj | 3 | ||||
-rw-r--r-- | Tools/msi/launcher/launcher.wxs | 13 | ||||
-rw-r--r-- | Tools/msi/launcher/launcher_en-US.wxl | 10 | ||||
-rw-r--r-- | Tools/msi/msi.props | 4 | ||||
-rw-r--r-- | Tools/msi/msi.targets | 4 |
6 files changed, 26 insertions, 12 deletions
diff --git a/Tools/msi/common.wxs b/Tools/msi/common.wxs index b907872..4efad65 100644 --- a/Tools/msi/common.wxs +++ b/Tools/msi/common.wxs @@ -21,8 +21,8 @@ <UpgradeVersion Property="UPGRADE" Minimum="$(var.UpgradeMinimumVersion)" IncludeMinimum="yes" Maximum="$(var.Version)" IncludeMaximum="no" /> </Upgrade> + <?ifdef CoreUpgradeCode ?> <?if $(var.UpgradeCode)!=$(var.CoreUpgradeCode) ?> - <?ifndef SkipMissingCore ?> <Upgrade Id="$(var.CoreUpgradeCode)"> <UpgradeVersion Property="MISSING_CORE" Minimum="$(var.Version)" IncludeMinimum="yes" Maximum="$(var.Version)" IncludeMaximum="yes" OnlyDetect="yes" /> </Upgrade> @@ -47,9 +47,11 @@ </Fragment> <Fragment> + <?ifdef InstallDirectoryGuidSeed ?> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="InstallDirectory" ComponentGuidGenerationSeed="$(var.InstallDirectoryGuidSeed)" /> </Directory> + <?endif ?> </Fragment> <!-- Top-level directories --> diff --git a/Tools/msi/launcher/launcher.wixproj b/Tools/msi/launcher/launcher.wixproj index a0f1d57..67fb025 100644 --- a/Tools/msi/launcher/launcher.wixproj +++ b/Tools/msi/launcher/launcher.wixproj @@ -5,7 +5,8 @@ <SchemaVersion>2.0</SchemaVersion> <OutputName>launcher</OutputName> <OutputType>Package</OutputType> - <DefineConstants>SkipMissingCore=1;$(DefineConstants)</DefineConstants> + <DefineConstants>UpgradeCode=1B68A0EC-4DD3-5134-840E-73854B0863F1;$(DefineConstants)</DefineConstants> + <IgnoreCommonWxlTemplates>true</IgnoreCommonWxlTemplates> </PropertyGroup> <Import Project="..\msi.props" /> <ItemGroup> diff --git a/Tools/msi/launcher/launcher.wxs b/Tools/msi/launcher/launcher.wxs index 718b666..80e838a 100644 --- a/Tools/msi/launcher/launcher.wxs +++ b/Tools/msi/launcher/launcher.wxs @@ -5,7 +5,6 @@ <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)"> @@ -27,12 +26,18 @@ <Custom Before="SetLauncherInstallDirectoryLM" Action="SetLauncherInstallDirectoryCU">NOT Installed AND NOT ALLUSERS=1</Custom> <Custom Before="CostFinalize" Action="SetLauncherInstallDirectoryLM">NOT Installed AND ALLUSERS=1</Custom> - <RemoveExistingProducts After="InstallInitialize">UPGRADE or REMOVE_OLD_LAUNCHER</RemoveExistingProducts> + <RemoveExistingProducts After="InstallValidate">UPGRADE or REMOVE_350_LAUNCHER</RemoveExistingProducts> </InstallExecuteSequence> - <!-- Python 3.5.0 shipped with an incorrect UpgradeCode --> + <!-- Python 3.5.0 shipped with a different UpgradeCode --> <Upgrade Id="A71530B9-E89D-53DB-9C2D-C6D7551876D8"> - <UpgradeVersion Maximum="$(var.Version)" Property="REMOVE_OLD_LAUNCHER" /> + <UpgradeVersion Minimum="0.0.0.0" Property="REMOVE_350_LAUNCHER" /> </Upgrade> + <!-- Python 3.6.0a1 shipped with a different UpgradeCode --> + <Upgrade Id="394750C0-7880-5A8F-999F-933965FBCFB4"> + <UpgradeVersion Maximum="$(var.Version)" Property="REMOVE_360A1_LAUNCHER" /> + <UpgradeVersion Minimum="$(var.Version)" Property="BLOCK_360A1_LAUNCHER" /> + </Upgrade> + <Condition Message="!(loc.NoDowngrade)">Installed OR NOT BLOCK_360A1_LAUNCHER</Condition> </Product> </Wix> diff --git a/Tools/msi/launcher/launcher_en-US.wxl b/Tools/msi/launcher/launcher_en-US.wxl index d961fff..e4c1aaa 100644 --- a/Tools/msi/launcher/launcher_en-US.wxl +++ b/Tools/msi/launcher/launcher_en-US.wxl @@ -1,7 +1,13 @@ <?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="LCID">1033</String> + <String Id="Culture">en-us</String> + <String Id="ProductName">Python Launcher</String> + <String Id="Title">Python Launcher</String> + <String Id="Description">Python Launcher</String> + <String Id="Manufacturer">Python Software Foundation</String> + <String Id="NoDowngrade">A newer version of the Python launcher is already installed.</String> + <String Id="NoTargetDir">The TARGETDIR variable must be provided when invoking this installer.</String> <String Id="PythonFileDescription">Python File</String> <String Id="PythonNoConFileDescription">Python File (no console)</String> <String Id="PythonCompiledFileDescription">Compiled Python File</String> diff --git a/Tools/msi/msi.props b/Tools/msi/msi.props index bbb8aeb..9ae6d99 100644 --- a/Tools/msi/msi.props +++ b/Tools/msi/msi.props @@ -39,7 +39,7 @@ <ItemGroup> <Compile Include="$(MSBuildThisFileDirectory)common.wxs" /> - <WxlTemplate Include="$(MSBuildThisFileDirectory)\*.wxl_template" /> + <WxlTemplate Include="$(MSBuildThisFileDirectory)\*.wxl_template" Condition="$(IgnoreCommonWxlTemplates) != 'true'" /> <WixExtension Include="WixUtilExtension"> <HintPath>WixUtilExtension</HintPath> <Name>WixUtilExtension</Name> @@ -150,7 +150,7 @@ <Uri>lib2to3/pickles</Uri> </_Uuid> </ItemGroup> - <Target Name="_GenerateGuids" AfterTargets="PrepareForBuild"> + <Target Name="_GenerateGuids" AfterTargets="PrepareForBuild" Condition="$(TargetName) != 'launcher'"> <PropertyGroup> <_Uuids>@(_Uuid->'("%(Identity)", "$(MajorVersionNumber).$(MinorVersionNumber)/%(Uri)")',',')</_Uuids> <_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> diff --git a/Tools/msi/msi.targets b/Tools/msi/msi.targets index a40d9c4..86be35b 100644 --- a/Tools/msi/msi.targets +++ b/Tools/msi/msi.targets @@ -25,7 +25,7 @@ </Target> <Target Name="_TransformWxlTemplates" AfterTargets="PrepareForBuild" Inputs="@(WxlTemplate);$(PySourcePath)include\patchlevel.h" Outputs="$(IntermediateOutputPath)%(Filename).wxl"> - <PropertyGroup> + <PropertyGroup Condition="'@(WxlTemplate)' != ''"> <_Content>$([System.IO.File]::ReadAllText(%(WxlTemplate.FullPath)).Replace(`{{ShortVersion}}`, `$(MajorVersionNumber).$(MinorVersionNumber)$(PyTestExt)`).Replace(`{{LongVersion}}`, `$(PythonVersion)$(PyTestExt)`).Replace(`{{Bitness}}`, `$(Bitness)`))</_Content> <_ExistingContent Condition="Exists('$(IntermediateOutputPath)%(WxlTemplate.Filename).wxl')">$([System.IO.File]::ReadAllText($(IntermediateOutputPath)%(WxlTemplate.Filename).wxl))</_ExistingContent> </PropertyGroup> @@ -35,7 +35,7 @@ Overwrite="true" Condition="$(_Content) != $(_ExistingContent)" /> - <ItemGroup> + <ItemGroup Condition="'@(WxlTemplate)' != ''"> <EmbeddedResource Include="$(IntermediateOutputPath)%(WxlTemplate.Filename).wxl" /> <FileWrites Include="$(IntermediateOutputPath)%(WxlTemplate.Filename).wxl" /> </ItemGroup> |