From b85b427507a8034878d08c2abe2d6b1b7eab97d0 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Wed, 8 Jul 2015 22:43:48 -0700 Subject: Fixes installer rebuild, snapshot versioning, and the README.txt file. --- Tools/msi/README.txt | 20 ++++++++++++-------- .../bootstrap/PythonBootstrapperApplication.cpp | 1 + Tools/msi/bundle/bundle.targets | 12 +++++++++++- 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= + set PYTHON= set SPHINXBUILD= set PATH=; ;%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= + set PYTHON= set SPHINXBUILD= set PATH=; ;%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 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 @@ + + Build + + + + + Rebuild + + + - + 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 @@ python$(MajorVersionNumber)$(MinorVersionNumber)$(MicroVersionNumber)$(ReleaseLevelName).chm - $(ReleaseLevelNumber) - $([System.Math]::Floor($([System.DateTime]::Now.Subtract($([System.DateTime]::new(2001, 1, 1))).TotalDays))) + $(MajorVersionNumber).$(MinorVersionNumber).$(Field3Value).0 + + + + $([System.Math]::Floor($([System.DateTime]::Now.Subtract($([System.DateTime]::new(2001, 1, 1))).TotalDays))) + $(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)dev$(RevisionNumber) + $(MajorVersionNumber).$(MinorVersionNumber).$(RevisionNumber).0 @@ -62,7 +67,7 @@ 64-bit $(DefineConstants); - Version=$(MajorVersionNumber).$(MinorVersionNumber).$(Field3Value).0; + Version=$(InstallerVersion); ShortVersion=$(MajorVersionNumber).$(MinorVersionNumber); LongVersion=$(PythonVersion); MajorVersionNumber=$(MajorVersionNumber); -- cgit v0.12