Fixes installer rebuild, snapshot versioning, and the README.txt file.

This commit is contained in:
Steve Dower 2015-07-08 22:43:48 -07:00
parent 494374922c
commit b85b427507
4 changed files with 32 additions and 12 deletions

View file

@ -9,7 +9,7 @@ script:
For an official release, the installer should be built with the For an official release, the installer should be built with the
Tools/msi/buildrelease.bat script and environment variables: Tools/msi/buildrelease.bat script and environment variables:
set PYTHON=<path to Python 2.7> set PYTHON=<path to Python 2.7 or 3.4>
set SPHINXBUILD=<path to sphinx-build.exe> set SPHINXBUILD=<path to sphinx-build.exe>
set PATH=<path to Mercurial (hg.exe)>; set PATH=<path to Mercurial (hg.exe)>;
<path to HTML Help Compiler (hhc.exe)>;%PATH% <path to HTML Help Compiler (hhc.exe)>;%PATH%
@ -87,7 +87,7 @@ and extracted to the externals/ directory.
For an official release, the installer should be built with the For an official release, the installer should be built with the
Tools/msi/buildrelease.bat script: Tools/msi/buildrelease.bat script:
set PYTHON=<path to Python 2.7> set PYTHON=<path to Python 2.7 or 3.4>
set SPHINXBUILD=<path to sphinx-build.exe> set SPHINXBUILD=<path to sphinx-build.exe>
set PATH=<path to Mercurial (hg.exe)>; set PATH=<path to Mercurial (hg.exe)>;
<path to HTML Help Compiler (hhc.exe)>;%PATH% <path to HTML Help Compiler (hhc.exe)>;%PATH%
@ -229,6 +229,11 @@ interest:
Every package should reference this property to include upgrade Every package should reference this property to include upgrade
information. information.
OptionalFeature (Component)
Packages that may be enabled or disabled should reference this component
and have an OPTIONAL_FEATURES entry in the bootstrap application to
properly handle Modify and Upgrade.
The .wxl_template file is specially handled by the build system for this The .wxl_template file is specially handled by the build system for this
project to perform {{substitutions}} as defined in msi.targets. They project to perform {{substitutions}} as defined in msi.targets. They
should be included in projects as <WxlTemplate> items, where .wxl files should be included in projects as <WxlTemplate> items, where .wxl files
@ -326,14 +331,11 @@ install directory.
.\python3x.dll The core interpreter .\python3x.dll The core interpreter
.\python3.dll The stable ABI reference .\python3.dll The stable ABI reference
.\appcrt140.dll Microsoft Visual C Runtime
.\desktopcrt140.dll Microsoft Visual C Runtime
.\vcruntime140.dll Microsoft Visual C Runtime
When installed for all users, the following files are installed to When installed for all users, the following files are installed to
"%SystemRoot%" (typically "C:\Windows") to ensure they are always "%SystemRoot%" (typically "C:\Windows") to ensure they are always
available on PATH. (See Launching Python below.) For the current user, available on PATH. (See Launching Python below.) For the current user,
they are installed in the Python install directory. they are installed in "%LocalAppData%\Programs\Python\PyLauncher".
.\py[w].exe PEP 397 launcher .\py[w].exe PEP 397 launcher
@ -363,8 +365,10 @@ For 32-bit interpreters installed for the current user:
When the core Python executables are installed, a key "InstallPath" is When the core Python executables are installed, a key "InstallPath" is
created within the root key with its default value set to the created within the root key with its default value set to the
executable's install directory. Within this key, a key "InstallGroup" is executable's install directory. A value named "ExecutablePath" is added
created with its default value set to the product name "Python 3.X". with the full path to the main Python interpreter, and a key
"InstallGroup" is created with its default value set to the product
name "Python 3.X".
When the Python standard library is installed, a key "PythonPath" is When the Python standard library is installed, a key "PythonPath" is
created within the root key with its default value set to the full path created within the root key with its default value set to the full path

View file

@ -291,6 +291,7 @@ class PythonBootstrapperApplication : public CBalBaseBootstrapperApplication {
hr = BalGetStringVariable(L"TargetDir", &targetDir); hr = BalGetStringVariable(L"TargetDir", &targetDir);
if (FAILED(hr) || !targetDir || !targetDir[0]) { if (FAILED(hr) || !targetDir || !targetDir[0]) {
ReleaseStr(targetDir); ReleaseStr(targetDir);
targetDir = nullptr;
hr = BalGetStringVariable( hr = BalGetStringVariable(
installAllUsers ? L"DefaultAllUsersTargetDir" : L"DefaultJustForMeTargetDir", installAllUsers ? L"DefaultAllUsersTargetDir" : L"DefaultJustForMeTargetDir",

View file

@ -72,8 +72,18 @@
<Package Include="..\tools\tools*.wixproj" /> <Package Include="..\tools\tools*.wixproj" />
</ItemGroup> </ItemGroup>
<PropertyGroup>
<BuildPackagesTargets>Build</BuildPackagesTargets>
</PropertyGroup>
<Target Name="_SetRebuildTarget" BeforeTargets="BeforeRebuild">
<PropertyGroup>
<BuildPackagesTargets>Rebuild</BuildPackagesTargets>
</PropertyGroup>
</Target>
<Target Name="BuildPackages" BeforeTargets="BeforeBuild" Condition="'$(RebuildAll)' != 'false'"> <Target Name="BuildPackages" BeforeTargets="BeforeBuild" Condition="'$(RebuildAll)' != 'false'">
<MSBuild Projects="@(Package)" BuildInParallel="true" /> <MSBuild Projects="@(Package)" Targets="$(BuildPackagesTargets)" BuildInParallel="true" />
</Target> </Target>
<Target Name="BuildLauncher" BeforeTargets="BeforeBuild" Condition="'$(RebuildAll)' != 'false'"> <Target Name="BuildLauncher" BeforeTargets="BeforeBuild" Condition="'$(RebuildAll)' != 'false'">

View file

@ -53,8 +53,13 @@
<CRTRedist Condition="!Exists($(CRTRedist))"></CRTRedist> <CRTRedist Condition="!Exists($(CRTRedist))"></CRTRedist>
<DocFilename>python$(MajorVersionNumber)$(MinorVersionNumber)$(MicroVersionNumber)$(ReleaseLevelName).chm</DocFilename> <DocFilename>python$(MajorVersionNumber)$(MinorVersionNumber)$(MicroVersionNumber)$(ReleaseLevelName).chm</DocFilename>
<RevisionNumber>$(ReleaseLevelNumber)</RevisionNumber> <InstallerVersion>$(MajorVersionNumber).$(MinorVersionNumber).$(Field3Value).0</InstallerVersion>
<RevisionNumber Condition="!$(BuildForRelease)">$([System.Math]::Floor($([System.DateTime]::Now.Subtract($([System.DateTime]::new(2001, 1, 1))).TotalDays)))</RevisionNumber> </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>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
@ -62,7 +67,7 @@
<Bitness Condition="$(Platform) == 'x64'">64-bit</Bitness> <Bitness Condition="$(Platform) == 'x64'">64-bit</Bitness>
<DefineConstants> <DefineConstants>
$(DefineConstants); $(DefineConstants);
Version=$(MajorVersionNumber).$(MinorVersionNumber).$(Field3Value).0; Version=$(InstallerVersion);
ShortVersion=$(MajorVersionNumber).$(MinorVersionNumber); ShortVersion=$(MajorVersionNumber).$(MinorVersionNumber);
LongVersion=$(PythonVersion); LongVersion=$(PythonVersion);
MajorVersionNumber=$(MajorVersionNumber); MajorVersionNumber=$(MajorVersionNumber);