Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b85b427

Browse files
committed
Fixes installer rebuild, snapshot versioning, and the README.txt file.
1 parent 4943749 commit b85b427

4 files changed

Lines changed: 32 additions & 12 deletions

File tree

Tools/msi/README.txt

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ script:
99
For an official release, the installer should be built with the
1010
Tools/msi/buildrelease.bat script and environment variables:
1111

12-
set PYTHON=<path to Python 2.7>
12+
set PYTHON=<path to Python 2.7 or 3.4>
1313
set SPHINXBUILD=<path to sphinx-build.exe>
1414
set PATH=<path to Mercurial (hg.exe)>;
1515
<path to HTML Help Compiler (hhc.exe)>;%PATH%
@@ -87,7 +87,7 @@ and extracted to the externals/ directory.
8787
For an official release, the installer should be built with the
8888
Tools/msi/buildrelease.bat script:
8989

90-
set PYTHON=<path to Python 2.7>
90+
set PYTHON=<path to Python 2.7 or 3.4>
9191
set SPHINXBUILD=<path to sphinx-build.exe>
9292
set PATH=<path to Mercurial (hg.exe)>;
9393
<path to HTML Help Compiler (hhc.exe)>;%PATH%
@@ -229,6 +229,11 @@ interest:
229229
Every package should reference this property to include upgrade
230230
information.
231231

232+
OptionalFeature (Component)
233+
Packages that may be enabled or disabled should reference this component
234+
and have an OPTIONAL_FEATURES entry in the bootstrap application to
235+
properly handle Modify and Upgrade.
236+
232237
The .wxl_template file is specially handled by the build system for this
233238
project to perform {{substitutions}} as defined in msi.targets. They
234239
should be included in projects as <WxlTemplate> items, where .wxl files
@@ -326,14 +331,11 @@ install directory.
326331

327332
.\python3x.dll The core interpreter
328333
.\python3.dll The stable ABI reference
329-
.\appcrt140.dll Microsoft Visual C Runtime
330-
.\desktopcrt140.dll Microsoft Visual C Runtime
331-
.\vcruntime140.dll Microsoft Visual C Runtime
332334

333335
When installed for all users, the following files are installed to
334336
"%SystemRoot%" (typically "C:\Windows") to ensure they are always
335337
available on PATH. (See Launching Python below.) For the current user,
336-
they are installed in the Python install directory.
338+
they are installed in "%LocalAppData%\Programs\Python\PyLauncher".
337339

338340
.\py[w].exe PEP 397 launcher
339341

@@ -363,8 +365,10 @@ For 32-bit interpreters installed for the current user:
363365

364366
When the core Python executables are installed, a key "InstallPath" is
365367
created within the root key with its default value set to the
366-
executable's install directory. Within this key, a key "InstallGroup" is
367-
created with its default value set to the product name "Python 3.X".
368+
executable's install directory. A value named "ExecutablePath" is added
369+
with the full path to the main Python interpreter, and a key
370+
"InstallGroup" is created with its default value set to the product
371+
name "Python 3.X".
368372

369373
When the Python standard library is installed, a key "PythonPath" is
370374
created within the root key with its default value set to the full path

Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,7 @@ class PythonBootstrapperApplication : public CBalBaseBootstrapperApplication {
291291
hr = BalGetStringVariable(L"TargetDir", &targetDir);
292292
if (FAILED(hr) || !targetDir || !targetDir[0]) {
293293
ReleaseStr(targetDir);
294+
targetDir = nullptr;
294295

295296
hr = BalGetStringVariable(
296297
installAllUsers ? L"DefaultAllUsersTargetDir" : L"DefaultJustForMeTargetDir",

Tools/msi/bundle/bundle.targets

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,18 @@
7272
<Package Include="..\tools\tools*.wixproj" />
7373
</ItemGroup>
7474

75+
<PropertyGroup>
76+
<BuildPackagesTargets>Build</BuildPackagesTargets>
77+
</PropertyGroup>
78+
79+
<Target Name="_SetRebuildTarget" BeforeTargets="BeforeRebuild">
80+
<PropertyGroup>
81+
<BuildPackagesTargets>Rebuild</BuildPackagesTargets>
82+
</PropertyGroup>
83+
</Target>
84+
7585
<Target Name="BuildPackages" BeforeTargets="BeforeBuild" Condition="'$(RebuildAll)' != 'false'">
76-
<MSBuild Projects="@(Package)" BuildInParallel="true" />
86+
<MSBuild Projects="@(Package)" Targets="$(BuildPackagesTargets)" BuildInParallel="true" />
7787
</Target>
7888

7989
<Target Name="BuildLauncher" BeforeTargets="BeforeBuild" Condition="'$(RebuildAll)' != 'false'">

Tools/msi/msi.props

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,21 @@
5353
<CRTRedist Condition="!Exists($(CRTRedist))"></CRTRedist>
5454
<DocFilename>python$(MajorVersionNumber)$(MinorVersionNumber)$(MicroVersionNumber)$(ReleaseLevelName).chm</DocFilename>
5555

56-
<RevisionNumber>$(ReleaseLevelNumber)</RevisionNumber>
57-
<RevisionNumber Condition="!$(BuildForRelease)">$([System.Math]::Floor($([System.DateTime]::Now.Subtract($([System.DateTime]::new(2001, 1, 1))).TotalDays)))</RevisionNumber>
56+
<InstallerVersion>$(MajorVersionNumber).$(MinorVersionNumber).$(Field3Value).0</InstallerVersion>
57+
</PropertyGroup>
58+
59+
<PropertyGroup Condition="!$(BuildForRelease)">
60+
<RevisionNumber Condition="'$(RevisionNumber)' == ''">$([System.Math]::Floor($([System.DateTime]::Now.Subtract($([System.DateTime]::new(2001, 1, 1))).TotalDays)))</RevisionNumber>
61+
<PythonVersion>$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)dev$(RevisionNumber)</PythonVersion>
62+
<InstallerVersion>$(MajorVersionNumber).$(MinorVersionNumber).$(RevisionNumber).0</InstallerVersion>
5863
</PropertyGroup>
5964

6065
<PropertyGroup>
6166
<Bitness>32-bit</Bitness>
6267
<Bitness Condition="$(Platform) == 'x64'">64-bit</Bitness>
6368
<DefineConstants>
6469
$(DefineConstants);
65-
Version=$(MajorVersionNumber).$(MinorVersionNumber).$(Field3Value).0;
70+
Version=$(InstallerVersion);
6671
ShortVersion=$(MajorVersionNumber).$(MinorVersionNumber);
6772
LongVersion=$(PythonVersion);
6873
MajorVersionNumber=$(MajorVersionNumber);

0 commit comments

Comments
 (0)