diff options
Diffstat (limited to 'Tools')
-rw-r--r-- | Tools/msi/README.txt | 20 | ||||
-rw-r--r-- | Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp | 1 | ||||
-rw-r--r-- | Tools/msi/bundle/bundle.targets | 12 | ||||
-rw-r--r-- | Tools/msi/msi.props | 11 |
4 files changed, 32 insertions, 12 deletions
diff --git a/Tools/msi/README.txt b/Tools/msi/README.txt index 1e41cc1..25dcf32 100644 --- a/Tools/msi/README.txt +++ b/Tools/msi/README.txt @@ -9,7 +9,7 @@ script: For an official release, the installer should be built with the 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 PATH=<path to Mercurial (hg.exe)>; <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 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 PATH=<path to Mercurial (hg.exe)>; <path to HTML Help Compiler (hhc.exe)>;%PATH% @@ -229,6 +229,11 @@ interest: Every package should reference this property to include upgrade 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 project to perform {{substitutions}} as defined in msi.targets. They should be included in projects as <WxlTemplate> items, where .wxl files @@ -326,14 +331,11 @@ install directory. .\python3x.dll The core interpreter .\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 "%SystemRoot%" (typically "C:\Windows") to ensure they are always 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 @@ -363,8 +365,10 @@ For 32-bit interpreters installed for the current user: When the core Python executables are installed, a key "InstallPath" is created within the root key with its default value set to the -executable's install directory. Within this key, a key "InstallGroup" is -created with its default value set to the product name "Python 3.X". +executable's install directory. A value named "ExecutablePath" is added +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 created within the root key with its default value set to the full path diff --git a/Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp b/Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp index 7283559..2166304 100644 --- a/Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp +++ b/Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp @@ -291,6 +291,7 @@ class PythonBootstrapperApplication : public CBalBaseBootstrapperApplication { hr = BalGetStringVariable(L"TargetDir", &targetDir); if (FAILED(hr) || !targetDir || !targetDir[0]) { ReleaseStr(targetDir); + targetDir = nullptr; hr = BalGetStringVariable( installAllUsers ? L"DefaultAllUsersTargetDir" : L"DefaultJustForMeTargetDir", diff --git a/Tools/msi/bundle/bundle.targets b/Tools/msi/bundle/bundle.targets index 363c4e3..1ff0001 100644 --- a/Tools/msi/bundle/bundle.targets +++ b/Tools/msi/bundle/bundle.targets @@ -72,8 +72,18 @@ <Package Include="..\tools\tools*.wixproj" /> </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'"> - <MSBuild Projects="@(Package)" BuildInParallel="true" /> + <MSBuild Projects="@(Package)" Targets="$(BuildPackagesTargets)" BuildInParallel="true" /> </Target> <Target Name="BuildLauncher" BeforeTargets="BeforeBuild" Condition="'$(RebuildAll)' != 'false'"> diff --git a/Tools/msi/msi.props b/Tools/msi/msi.props index 1d9f0f0..2d13aef 100644 --- a/Tools/msi/msi.props +++ b/Tools/msi/msi.props @@ -53,8 +53,13 @@ <CRTRedist Condition="!Exists($(CRTRedist))"></CRTRedist> <DocFilename>python$(MajorVersionNumber)$(MinorVersionNumber)$(MicroVersionNumber)$(ReleaseLevelName).chm</DocFilename> - <RevisionNumber>$(ReleaseLevelNumber)</RevisionNumber> - <RevisionNumber Condition="!$(BuildForRelease)">$([System.Math]::Floor($([System.DateTime]::Now.Subtract($([System.DateTime]::new(2001, 1, 1))).TotalDays)))</RevisionNumber> + <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> </PropertyGroup> <PropertyGroup> @@ -62,7 +67,7 @@ <Bitness Condition="$(Platform) == 'x64'">64-bit</Bitness> <DefineConstants> $(DefineConstants); - Version=$(MajorVersionNumber).$(MinorVersionNumber).$(Field3Value).0; + Version=$(InstallerVersion); ShortVersion=$(MajorVersionNumber).$(MinorVersionNumber); LongVersion=$(PythonVersion); MajorVersionNumber=$(MajorVersionNumber); |