Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
940f6a8f
Commit
940f6a8f
authored
Oct 31, 2015
by
Steve Dower
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Improves handling of test markers for building Python without intefering with actual installs.
parent
f97edf1a
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
93 additions
and
63 deletions
+93
-63
PCbuild/build.bat
PCbuild/build.bat
+3
-0
PCbuild/pyproject.props
PCbuild/pyproject.props
+2
-2
PCbuild/python.props
PCbuild/python.props
+12
-4
Tools/msi/build.bat
Tools/msi/build.bat
+15
-9
Tools/msi/bundle/Default.thm
Tools/msi/bundle/Default.thm
+1
-1
Tools/msi/bundle/bundle.targets
Tools/msi/bundle/bundle.targets
+6
-2
Tools/msi/bundle/bundle.wxs
Tools/msi/bundle/bundle.wxs
+20
-7
Tools/msi/common.wxs
Tools/msi/common.wxs
+2
-2
Tools/msi/launcher/launcher_files.wxs
Tools/msi/launcher/launcher_files.wxs
+4
-4
Tools/msi/launcher/launcher_reg.wxs
Tools/msi/launcher/launcher_reg.wxs
+17
-17
Tools/msi/msi.props
Tools/msi/msi.props
+2
-6
Tools/msi/msi.targets
Tools/msi/msi.targets
+1
-1
Tools/msi/tcltk/tcltk_reg.wxs
Tools/msi/tcltk/tcltk_reg.wxs
+8
-8
No files found.
PCbuild/build.bat
View file @
940f6a8f
...
...
@@ -38,6 +38,7 @@ echo. -p x64 ^| Win32
echo
.
Set
the
platform
(
default
:
Win32
)
echo
.
-t
Build
^|
Rebuild
^|
Clean
^|
CleanAll
echo
.
Set
the
target
manually
echo
.
-
-test-marker
Enable
the
test
marker
within
the
build
.
exit
/b
127
:Run
...
...
@@ -62,6 +63,7 @@ if "%~1"=="-m" (set parallel=/m) & shift & goto CheckOpts
if
"
%
~1"
==
"-M"
(
set
parallel
=)
&
shift
&
goto
CheckOpts
if
"
%
~1"
==
"-v"
(
set
verbose
=
/v
:n
)
&
shift
&
goto
CheckOpts
if
"
%
~1"
==
"-k"
(
set
kill
=
true
)
&
shift
&
goto
CheckOpts
if
"
%
~1"
==
"--test-marker"
(
set
UseTestMarker
=
true
)
&
shift
&
goto
CheckOpts
if
"
%
~1"
==
"-V"
shift
&
goto
Version
rem These use the actual property names used by MSBuild. We could just let
rem them in through the environment, but we specify them on the command line
...
...
@@ -93,6 +95,7 @@ msbuild "%dir%pcbuild.proj" /t:%target% %parallel% %verbose%^
/p
:Configuration
=
%conf%
/p
:Platform
=
%platf%
^
/p
:IncludeExternals
=
%IncludeExternals%
^
/p
:IncludeSSL
=
%IncludeSSL%
/p
:IncludeTkinter
=
%IncludeTkinter%
^
/p
:UseTestMarker
=
%UseTestMarker%
^
%
1
%
2
%
3
%
4
%
5
%
6
%
7
%
8
%
9
@goto
:eof
...
...
PCbuild/pyproject.props
View file @
940f6a8f
...
...
@@ -128,8 +128,8 @@ foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses
</UsingTask>
<Target
Name=
"KillPython"
BeforeTargets=
"PrepareForBuild"
Condition=
"'$(KillPython)' == 'true'"
>
<Message
Text=
"Killing any running python.exe instances..."
Importance=
"high"
/>
<KillPython
FileName=
"$(OutDir)python$(PyDebugExt).exe"
/>
<Message
Text=
"Killing any running python
$(PyDebugExt)$(PyTestExt)
.exe instances..."
Importance=
"high"
/>
<KillPython
FileName=
"$(OutDir)python$(PyDebugExt)
$(PyTestExt)
.exe"
/>
</Target>
<!--
...
...
PCbuild/python.props
View file @
940f6a8f
...
...
@@ -41,6 +41,12 @@
<!-- Suffix for all binaries when building for debug -->
<PyDebugExt
Condition=
"'$(PyDebugExt)' == '' and $(Configuration) == 'Debug'"
>
_d
</PyDebugExt>
<!-- Suffix for versions/keys when building with test markers -->
<PyTestExt
Condition=
"$(UseTestMarker) == 'true'"
>
-test
</PyTestExt>
<!-- Suffix for versions/keys when building for particular platforms -->
<PyArchExt
Condition=
"'$(ArchName)' == 'win32'"
>
-32
</PyArchExt>
<!-- Full path of the resulting python.exe binary -->
<PythonExe
Condition=
"'$(PythonExe)' == ''"
>
$(BuildPath)python$(PyDebugExt).exe
</PythonExe>
</PropertyGroup>
...
...
@@ -129,17 +135,17 @@
$([msbuild]::Multiply($(MicroVersionNumber), 1000))
))
))
</Field3Value>
<Field3Value
Condition=
"$(UseTestMarker) == 'true'"
>
$([msbuild]::Add($(Field3Value), 9000))
</Field3Value>
<!-- The name of the resulting pythonXY.dll (without the extension) -->
<PyDllName>
python$(MajorVersionNumber)$(MinorVersionNumber)$(PyDebugExt)
</PyDllName>
<!-- The version and platform tag to include in .pyd filenames -->
<PydTag
Condition=
"$(
Platform) == 'Win32' or $(Platform) == 'x86
'"
>
.cp$(MajorVersionNumber)$(MinorVersionNumber)-win32
</PydTag>
<PydTag
Condition=
"$(
Platform) == 'x
64'"
>
.cp$(MajorVersionNumber)$(MinorVersionNumber)-win_amd64
</PydTag>
<PydTag
Condition=
"$(
ArchName) == 'win32
'"
>
.cp$(MajorVersionNumber)$(MinorVersionNumber)-win32
</PydTag>
<PydTag
Condition=
"$(
ArchName) == 'amd
64'"
>
.cp$(MajorVersionNumber)$(MinorVersionNumber)-win_amd64
</PydTag>
<!-- The version number for sys.winver -->
<SysWinVer>
$(MajorVersionNumber).$(MinorVersionNumber)
</SysWinVer>
<SysWinVer
Condition=
"$(Platform) == 'Win32' or $(Platform) == 'x86'"
>
$(SysWinVer)-32
</SysWinVer>
<SysWinVer>
$(MajorVersionNumber).$(MinorVersionNumber)$(PyArchExt)$(PyTestExt)
</SysWinVer>
</PropertyGroup>
<!-- Displays the calculated version info -->
...
...
@@ -148,5 +154,7 @@
<Message
Importance=
"high"
Text=
"PythonVersion: $(PythonVersion)"
/>
<Message
Importance=
"high"
Text=
"PythonVersionHex: 0x$([System.UInt32]::Parse($(PythonVersionHex)).ToString(`X08`))"
/>
<Message
Importance=
"high"
Text=
"Field3Value: $(Field3Value)"
/>
<Message
Importance=
"high"
Text=
"SysWinVer: $(SysWinVer)"
/>
<Message
Importance=
"high"
Text=
"PyDllName: $(PyDllName)"
/>
</Target>
</Project>
Tools/msi/build.bat
View file @
940f6a8f
...
...
@@ -6,16 +6,18 @@ set PCBUILD=%D%..\..\PCBuild\
set
BUILDX86
=
set
BUILDX64
=
set
BUILDDOC
=
set
BUILD
PX
=
set
BUILD
TEST
=-
-test-marker
set
BUILDPACK
=
set
REBUILD
=
:CheckOpts
if
"
%
~1"
EQU
"-h"
goto
Help
if
"
%
~1"
EQU
"-x86"
(
set
BUILDX86
=
1
)
&&
shift
&&
goto
CheckOpts
if
"
%
~1"
EQU
"-x64"
(
set
BUILDX64
=
1
)
&&
shift
&&
goto
CheckOpts
if
"
%
~1"
EQU
"--doc"
(
set
BUILDDOC
=
1
)
&&
shift
&&
goto
CheckOpts
if
"
%
~1"
EQU
"--
test-marker"
(
set
BUILDPX
=
1
)
&&
shift
&&
goto
CheckOpts
if
"
%
~1"
EQU
"--
no-test-marker"
(
set
BUILDTEST
=
)
&&
shift
&&
goto
CheckOpts
if
"
%
~1"
EQU
"--pack"
(
set
BUILDPACK
=
1
)
&&
shift
&&
goto
CheckOpts
if
"
%
~1"
EQU
"-r"
(
set
REBUILD
=
-r
)
&&
shift
&&
goto
CheckOpts
if
not
defined
BUILDX86
if
not
defined
BUILDX64
(
set
BUILDX86
=
1
)
&&
(
set
BUILDX64
=
1
)
...
...
@@ -24,15 +26,15 @@ call "%D%get_externals.bat"
call
"
%PCBUILD%
env.bat"
x86
if
defined
BUILDX86
(
call
"
%PCBUILD%
build.bat"
-d -e
call
"
%PCBUILD%
build.bat"
-d -e
%REBUILD%
%BUILDTEST%
if
errorlevel
1
goto
:eof
call
"
%PCBUILD%
build.bat"
-e
call
"
%PCBUILD%
build.bat"
-e
%REBUILD%
%BUILDTEST%
if
errorlevel
1
goto
:eof
)
if
defined
BUILDX64
(
call
"
%PCBUILD%
build.bat"
-p
x64
-d -e
call
"
%PCBUILD%
build.bat"
-p
x64
-d -e
%REBUILD%
%BUILDTEST%
if
errorlevel
1
goto
:eof
call
"
%PCBUILD%
build.bat"
-p
x64
-e
call
"
%PCBUILD%
build.bat"
-p
x64
-e
%REBUILD%
%BUILDTEST%
if
errorlevel
1
goto
:eof
)
...
...
@@ -42,12 +44,15 @@ if defined BUILDDOC (
)
set
BUILD_CMD
=
"
%D%
bundle\snapshot.wixproj"
if
defined
BUILD
PX
(
if
defined
BUILD
TEST
(
set
BUILD_CMD
=
%BUILD_CMD%
/p
:UseTestMarker
=
true
)
if
defined
BUILDPACK
(
set
BUILD_CMD
=
%BUILD_CMD%
/p
:Pack
=
true
)
if
defined
REBUILD
(
set
BUILD_CMD
=
%BUILD_CMD%
/t
:Rebuild
)
if
defined
BUILDX86
(
msbuild
%BUILD_CMD%
...
...
@@ -61,10 +66,11 @@ if defined BUILDX64 (
exit
/B
0
:Help
echo
build
.bat
[
-x
86
]
[
-x
64
]
[-
-doc
]
[
-h
]
[-
-
test-marker
]
[-
-pack
]
echo
build
.bat
[
-x
86
]
[
-x
64
]
[-
-doc
]
[
-h
]
[-
-
no-test-marker
]
[-
-pack
]
[
-r
]
echo
.
echo
-x
86
Build
x86
installers
echo
-x
64
Build
x64
installers
echo
-
-doc
Build
CHM
documentation
echo
-
-
test-marker
Build
installers
with
'x'
markers
echo
-
-
no-test-marker
Build
without
test
markers
echo
-
-pack
Embed
core
MSIs
into
installer
echo
-r
Rebuild
rather
than
incremental
build
Tools/msi/bundle/Default.thm
View file @
940f6a8f
...
...
@@ -64,7 +64,7 @@
<Checkbox
Name=
"Include_test"
X=
"185"
Y=
"201"
Width=
"-11"
Height=
"24"
TabStop=
"yes"
FontId=
"3"
HideWhenDisabled=
"yes"
>
#(loc.Include_testLabel)
</Checkbox>
<Text
X=
"205"
Y=
"226"
Width=
"-11"
Height=
"24"
TabStop=
"no"
FontId=
"5"
>
#(loc.Include_testHelpLabel)
</Text>
<Checkbox
Name=
"Include_launcher"
X=
"185"
Y=
"251"
Width=
"100"
Height=
"24"
TabStop=
"yes"
FontId=
"3"
HideWhenDisabled=
"
yes
"
>
#(loc.Include_launcherLabel)
</Checkbox>
<Checkbox
Name=
"Include_launcher"
X=
"185"
Y=
"251"
Width=
"100"
Height=
"24"
TabStop=
"yes"
FontId=
"3"
HideWhenDisabled=
"
no
"
>
#(loc.Include_launcherLabel)
</Checkbox>
<Checkbox
Name=
"CustomInstallLauncherAllUsers"
X=
"285"
Y=
"251"
Width=
"-11"
Height=
"24"
TabStop=
"yes"
FontId=
"3"
>
#(loc.InstallLauncherAllUsersLabel)
</Checkbox>
<Text
X=
"205"
Y=
"276"
Width=
"-11"
Height=
"24"
TabStop=
"no"
FontId=
"5"
>
#(loc.Include_launcherHelpLabel)
</Text>
...
...
Tools/msi/bundle/bundle.targets
View file @
940f6a8f
...
...
@@ -88,8 +88,12 @@
</Target>
<Target
Name=
"BuildLauncher"
BeforeTargets=
"BeforeBuild"
Condition=
"'$(RebuildAll)' != 'false'"
>
<!-- Build the launcher MSI using Exec rather than MSBuild -->
<Exec
Command=
'msbuild ..\launcher\launcher.wixproj /p:Platform=x86 /p:ReleaseUri="$(ReleaseUri)" /p:OutputPath="$(BuildPath.TrimEnd(`\`))" /p:OutputSuffix=$(Platform) /p:BuildForRelease=$(BuildForRelease) /p:UseTestMarker=$(UseTestMarker)'
<!--
Build the launcher MSI using Exec rather than MSBuild
Also, never use the test marker for the launcher. It's going to corrupt things anyway, so we'll
just disable it by default.
-->
<Exec
Command=
'msbuild ..\launcher\launcher.wixproj /p:Platform=x86 /p:ReleaseUri="$(ReleaseUri)" /p:OutputPath="$(BuildPath.TrimEnd(`\`))" /p:OutputSuffix=$(Platform) /p:BuildForRelease=$(BuildForRelease) /p:UseTestMarker=false'
ContinueOnError=
"false"
/>
</Target>
...
...
Tools/msi/bundle/bundle.wxs
View file @
940f6a8f
...
...
@@ -22,22 +22,26 @@
<Variable
Name=
"ShortVersion"
Value=
"$(var.MajorVersionNumber).$(var.MinorVersionNumber)"
/>
<Variable
Name=
"ShortVersionNoDot"
Value=
"$(var.MajorVersionNumber)$(var.MinorVersionNumber)"
/>
<Variable
Name=
"WinVer"
Value=
"$(var.MajorVersionNumber).$(var.MinorVersionNumber)$(var.
Suffix32
)"
/>
<Variable
Name=
"WinVerNoDot"
Value=
"$(var.MajorVersionNumber)$(var.MinorVersionNumber)$(var.
Suffix32
)"
/>
<Variable
Name=
"WinVer"
Value=
"$(var.MajorVersionNumber).$(var.MinorVersionNumber)$(var.
PyArchExt)$(var.PyTestExt
)"
/>
<Variable
Name=
"WinVerNoDot"
Value=
"$(var.MajorVersionNumber)$(var.MinorVersionNumber)$(var.
PyArchExt)$(var.PyTestExt
)"
/>
<Variable
Name=
"InstallAllUsers"
Value=
"0"
bal:Overridable=
"yes"
/>
<?ifndef PyTestExt ?>
<Variable
Name=
"InstallLauncherAllUsers"
Value=
"1"
bal:Overridable=
"yes"
/>
<?else ?>
<Variable
Name=
"InstallLauncherAllUsers"
Value=
"0"
/>
<?endif ?>
<Variable
Name=
"TargetDir"
Value=
""
bal:Overridable=
"yes"
/>
<?if $(var.Platform)~="x64" ?>
<Variable
Name=
"DefaultAllUsersTargetDir"
Value=
"[ProgramFiles64Folder]
$(var.TestPrefix)
Python[WinVerNoDot]"
bal:Overridable=
"yes"
/>
<Variable
Name=
"DefaultAllUsersTargetDir"
Value=
"[ProgramFiles64Folder]Python[WinVerNoDot]"
bal:Overridable=
"yes"
/>
<Variable
Name=
"TargetPlatform"
Value=
"x64"
/>
<?else ?>
<Variable
Name=
"DefaultAllUsersTargetDir"
Value=
"[ProgramFilesFolder]
$(var.TestPrefix)
Python[WinVerNoDot]"
bal:Overridable=
"yes"
/>
<Variable
Name=
"DefaultAllUsersTargetDir"
Value=
"[ProgramFilesFolder]Python[WinVerNoDot]"
bal:Overridable=
"yes"
/>
<Variable
Name=
"TargetPlatform"
Value=
"x86"
/>
<?endif ?>
<Variable
Name=
"DefaultJustForMeTargetDir"
Value=
"[LocalAppDataFolder]Programs\
$(var.TestPrefix)
Python\Python[WinVerNoDot]"
bal:Overridable=
"yes"
/>
<Variable
Name=
"OptionalFeaturesRegistryKey"
Value=
"Software\
$(var.TestPrefix)
Python\PythonCore\[WinVer]\InstalledFeatures"
/>
<Variable
Name=
"TargetDirRegistryKey"
Value=
"Software\
$(var.TestPrefix)
Python\PythonCore\[WinVer]\InstallPath"
/>
<Variable
Name=
"DefaultJustForMeTargetDir"
Value=
"[LocalAppDataFolder]Programs\Python\Python[WinVerNoDot]"
bal:Overridable=
"yes"
/>
<Variable
Name=
"OptionalFeaturesRegistryKey"
Value=
"Software\Python\PythonCore\[WinVer]\InstalledFeatures"
/>
<Variable
Name=
"TargetDirRegistryKey"
Value=
"Software\Python\PythonCore\[WinVer]\InstallPath"
/>
<!--
An empty string will use the other defaults based on InstallAllUsers
...
...
@@ -48,7 +52,11 @@
<Variable
Name=
"DefaultCustomTargetDir"
Value=
""
bal:Overridable=
"yes"
/>
<Variable
Name=
"InstallAllUsersState"
Value=
"enabled"
/>
<?ifndef PyTestExt ?>
<Variable
Name=
"InstallLauncherAllUsersState"
Value=
"enabled"
bal:Overridable=
"yes"
/>
<?else ?>
<Variable
Name=
"InstallLauncherAllUsersState"
Value=
"disable"
bal:Overridable=
"yes"
/>
<?endif ?>
<Variable
Name=
"CustomInstallLauncherAllUsersState"
Value=
"[InstallLauncherAllUsersState]"
/>
<Variable
Name=
"TargetDirState"
Value=
"enabled"
/>
<Variable
Name=
"CustomBrowseButtonState"
Value=
"enabled"
/>
...
...
@@ -62,7 +70,12 @@
<Variable
Name=
"Include_tools"
Value=
"1"
bal:Overridable=
"yes"
/>
<Variable
Name=
"Include_tcltk"
Value=
"1"
bal:Overridable=
"yes"
/>
<Variable
Name=
"Include_pip"
Value=
"1"
bal:Overridable=
"yes"
/>
<?ifndef PyTestExt ?>
<Variable
Name=
"Include_launcher"
Value=
"1"
bal:Overridable=
"yes"
/>
<?else ?>
<Variable
Name=
"Include_launcher"
Value=
"0"
/>
<Variable
Name=
"Include_launcherState"
Value=
"disable"
/>
<?endif ?>
<Variable
Name=
"Include_symbols"
Value=
"0"
bal:Overridable=
"yes"
/>
<Variable
Name=
"Include_debug"
Value=
"0"
bal:Overridable=
"yes"
/>
...
...
Tools/msi/common.wxs
View file @
940f6a8f
<?xml version="1.0" encoding="UTF-8"?>
<Wix
xmlns=
"http://schemas.microsoft.com/wix/2006/wi"
>
<Fragment>
<Property
Id=
"REGISTRYKEY"
Value=
"Software\
$(var.TestPrefix)Python\PythonCore\$(var.ShortVersion)$(var.Suffix32
)"
/>
<Property
Id=
"REGISTRYKEY"
Value=
"Software\
Python\PythonCore\$(var.ShortVersion)$(var.PyArchExt)$(var.PyTestExt
)"
/>
</Fragment>
<Fragment>
...
...
@@ -105,7 +105,7 @@
<Fragment>
<DirectoryRef
Id=
"TARGETDIR"
>
<Directory
Id=
"ProgramMenuFolder"
>
<Directory
Id=
"MenuDir"
Name=
"
$(var.TestPrefix)
!(loc.ProductName)"
/>
<Directory
Id=
"MenuDir"
Name=
"!(loc.ProductName)"
/>
</Directory>
</DirectoryRef>
</Fragment>
...
...
Tools/msi/launcher/launcher_files.wxs
View file @
940f6a8f
...
...
@@ -3,22 +3,22 @@
<Fragment>
<ComponentGroup
Id=
"launcher_exe"
>
<Component
Id=
"py.exe"
Directory=
"LauncherInstallDirectory"
Guid=
"{B5107402-6958-461B-8B0A-4037D3327160}"
>
<File
Id=
"py.exe"
Name=
"py
$(var.TestPrefix)
.exe"
Source=
"py.exe"
KeyPath=
"yes"
/>
<File
Id=
"py.exe"
Name=
"py.exe"
Source=
"py.exe"
KeyPath=
"yes"
/>
<RegistryValue
Root=
"HKMU"
Key=
"Software\Python\PyLauncher"
Value=
"[#py.exe]"
Type=
"string"
/>
</Component>
<Component
Id=
"pyw.exe"
Directory=
"LauncherInstallDirectory"
Guid=
"{8E52B8CD-48BB-4D74-84CD-6238BCD11F20}"
>
<File
Id=
"pyw.exe"
Name=
"pyw
$(var.TestPrefix)
.exe"
Source=
"pyw.exe"
KeyPath=
"yes"
/>
<File
Id=
"pyw.exe"
Name=
"pyw.exe"
Source=
"pyw.exe"
KeyPath=
"yes"
/>
</Component>
<Component
Id=
"launcher_path_cu"
Directory=
"LauncherInstallDirectory"
Guid=
"{95AEB930-367C-475C-A17E-A89BFCD4C670}"
>
<Condition>
NOT ALLUSERS=1
</Condition>
<RegistryValue
KeyPath=
"yes"
Root=
"HKMU"
Key=
"Software\
$(var.TestPrefix)
Python\PyLauncher"
Name=
"InstallDir"
Value=
"[LauncherInstallDirectory]"
Type=
"string"
/>
<RegistryValue
KeyPath=
"yes"
Root=
"HKMU"
Key=
"Software\Python\PyLauncher"
Name=
"InstallDir"
Value=
"[LauncherInstallDirectory]"
Type=
"string"
/>
<Environment
Id=
"PATH_CU"
Action=
"set"
Name=
"PATH"
Part=
"first"
Value=
"[LauncherInstallDirectory]"
/>
</Component>
<Component
Id=
"launcher_path_lm"
Directory=
"LauncherInstallDirectory"
Guid=
"{4A41C365-4E27-4D38-A6D1-4A01B4A6500C}"
>
<Condition>
ALLUSERS=1
</Condition>
<RegistryValue
KeyPath=
"yes"
Root=
"HKMU"
Key=
"Software\
$(var.TestPrefix)
Python\PyLauncher"
Name=
"InstallDir"
Value=
"[LauncherInstallDirectory]"
Type=
"string"
/>
<RegistryValue
KeyPath=
"yes"
Root=
"HKMU"
Key=
"Software\Python\PyLauncher"
Name=
"InstallDir"
Value=
"[LauncherInstallDirectory]"
Type=
"string"
/>
</Component>
</ComponentGroup>
</Fragment>
...
...
Tools/msi/launcher/launcher_reg.wxs
View file @
940f6a8f
...
...
@@ -3,43 +3,43 @@
<Fragment>
<ComponentGroup
Id=
"launcher_reg"
>
<Component
Id=
"file_association"
Directory=
"LauncherInstallDirectory"
Guid=
"{5AF84D9A-D820-456B-B230-6E0105A50276}"
>
<RegistryValue
KeyPath=
"yes"
Root=
"HKMU"
Key=
"Software\
$(var.TestPrefix)
Python\PyLauncher"
Name=
"AssociateFiles"
Value=
"1"
Type=
"integer"
/>
<RegistryValue
KeyPath=
"yes"
Root=
"HKMU"
Key=
"Software\Python\PyLauncher"
Name=
"AssociateFiles"
Value=
"1"
Type=
"integer"
/>
<ProgId
Id=
"
$(var.TestPrefix)
Python.File"
Description=
"!(loc.PythonFileDescription)"
Advertise=
"no"
Icon=
"py.exe"
IconIndex=
"1"
>
<Extension
Id=
"
$(var.FileExtension)
"
ContentType=
"text/plain"
>
<ProgId
Id=
"Python.File"
Description=
"!(loc.PythonFileDescription)"
Advertise=
"no"
Icon=
"py.exe"
IconIndex=
"1"
>
<Extension
Id=
"
py
"
ContentType=
"text/plain"
>
<Verb
Id=
"open"
TargetFile=
"py.exe"
Argument=
""%L" %*"
/>
</Extension>
</ProgId>
<RegistryValue
Root=
"HKCR"
Key=
"
$(var.TestPrefix)
Python.File\shellex\DropHandler"
Value=
"{60254CA5-953B-11CF-8C96-00AA00B8708C}"
Type=
"string"
/>
<RegistryValue
Root=
"HKCR"
Key=
"Python.File\shellex\DropHandler"
Value=
"{60254CA5-953B-11CF-8C96-00AA00B8708C}"
Type=
"string"
/>
<ProgId
Id=
"
$(var.TestPrefix)
Python.NoConFile"
Description=
"!(loc.PythonNoConFileDescription)"
Advertise=
"no"
Icon=
"py.exe"
IconIndex=
"1"
>
<Extension
Id=
"
$(var.FileExtension)
w"
ContentType=
"text/plain"
>
<ProgId
Id=
"Python.NoConFile"
Description=
"!(loc.PythonNoConFileDescription)"
Advertise=
"no"
Icon=
"py.exe"
IconIndex=
"1"
>
<Extension
Id=
"
py
w"
ContentType=
"text/plain"
>
<Verb
Id=
"open"
TargetFile=
"pyw.exe"
Argument=
""%L" %*"
/>
</Extension>
</ProgId>
<RegistryValue
Root=
"HKCR"
Key=
"
$(var.TestPrefix)
Python.NoConFile\shellex\DropHandler"
Value=
"{60254CA5-953B-11CF-8C96-00AA00B8708C}"
Type=
"string"
/>
<RegistryValue
Root=
"HKCR"
Key=
"Python.NoConFile\shellex\DropHandler"
Value=
"{60254CA5-953B-11CF-8C96-00AA00B8708C}"
Type=
"string"
/>
<ProgId
Id=
"
$(var.TestPrefix)
Python.CompiledFile"
Description=
"!(loc.PythonCompiledFileDescription)"
Advertise=
"no"
Icon=
"py.exe"
IconIndex=
"2"
>
<Extension
Id=
"
$(var.FileExtension)
c"
>
<ProgId
Id=
"Python.CompiledFile"
Description=
"!(loc.PythonCompiledFileDescription)"
Advertise=
"no"
Icon=
"py.exe"
IconIndex=
"2"
>
<Extension
Id=
"
py
c"
>
<Verb
Id=
"open"
TargetFile=
"py.exe"
Argument=
""%L" %*"
/>
</Extension>
<Extension
Id=
"
$(var.FileExtension)
o"
/>
<Extension
Id=
"
py
o"
/>
</ProgId>
<RegistryValue
Root=
"HKCR"
Key=
"
$(var.TestPrefix)
Python.CompiledFile\shellex\DropHandler"
Value=
"{60254CA5-953B-11CF-8C96-00AA00B8708C}"
Type=
"string"
/>
<RegistryValue
Root=
"HKCR"
Key=
"Python.CompiledFile\shellex\DropHandler"
Value=
"{60254CA5-953B-11CF-8C96-00AA00B8708C}"
Type=
"string"
/>
<ProgId
Id=
"
$(var.TestPrefix)
Python.ArchiveFile"
Description=
"!(loc.PythonArchiveFileDescription)"
Advertise=
"no"
Icon=
"py.exe"
IconIndex=
"1"
>
<Extension
Id=
"
$(var.FileExtension)
z"
ContentType=
"application/x-zip-compressed"
>
<ProgId
Id=
"Python.ArchiveFile"
Description=
"!(loc.PythonArchiveFileDescription)"
Advertise=
"no"
Icon=
"py.exe"
IconIndex=
"1"
>
<Extension
Id=
"
py
z"
ContentType=
"application/x-zip-compressed"
>
<Verb
Id=
"open"
TargetFile=
"py.exe"
Argument=
""%L" %*"
/>
</Extension>
</ProgId>
<RegistryValue
Root=
"HKCR"
Key=
"
$(var.TestPrefix)
Python.ArchiveFile\shellex\DropHandler"
Value=
"{60254CA5-953B-11CF-8C96-00AA00B8708C}"
Type=
"string"
/>
<RegistryValue
Root=
"HKCR"
Key=
"Python.ArchiveFile\shellex\DropHandler"
Value=
"{60254CA5-953B-11CF-8C96-00AA00B8708C}"
Type=
"string"
/>
<ProgId
Id=
"
$(var.TestPrefix)
Python.NoConArchiveFile"
Description=
"!(loc.PythonNoConArchiveFileDescription)"
Advertise=
"no"
Icon=
"py.exe"
IconIndex=
"1"
>
<Extension
Id=
"
$(var.FileExtension)
zw"
ContentType=
"application/x-zip-compressed"
>
<ProgId
Id=
"Python.NoConArchiveFile"
Description=
"!(loc.PythonNoConArchiveFileDescription)"
Advertise=
"no"
Icon=
"py.exe"
IconIndex=
"1"
>
<Extension
Id=
"
py
zw"
ContentType=
"application/x-zip-compressed"
>
<Verb
Id=
"open"
TargetFile=
"pyw.exe"
Argument=
""%L" %*"
/>
</Extension>
</ProgId>
<RegistryValue
Root=
"HKCR"
Key=
"
$(var.TestPrefix)
Python.NoConArchiveFile\shellex\DropHandler"
Value=
"{60254CA5-953B-11CF-8C96-00AA00B8708C}"
Type=
"string"
/>
<RegistryValue
Root=
"HKCR"
Key=
"Python.NoConArchiveFile\shellex\DropHandler"
Value=
"{60254CA5-953B-11CF-8C96-00AA00B8708C}"
Type=
"string"
/>
</Component>
</ComponentGroup>
</Fragment>
...
...
Tools/msi/msi.props
View file @
940f6a8f
...
...
@@ -80,17 +80,13 @@
NextMajorVersionNumber=$(MajorVersionNumber).$([msbuild]::Add($(MinorVersionNumber), 1)).0.0;
Bitness=$(Bitness);
PyDebugExt=$(PyDebugExt);
PyArchExt=$(PyArchExt);
PyTestExt=$(PyTestExt);
OptionalFeatureName=$(OutputName);
</DefineConstants>
<DefineConstants
Condition=
"'$(CRTRedist)' != ''"
>
$(DefineConstants);CRTRedist=$(CRTRedist);
</DefineConstants>
<DefineConstants
Condition=
"$(UseTestMarker) != 'true'"
>
$(DefineConstants);TestPrefix=;FileExtension=py;
</DefineConstants>
<DefineConstants
Condition=
"$(UseTestMarker) == 'true'"
>
$(DefineConstants);TestPrefix=x;FileExtension=px;
</DefineConstants>
<DefineConstants
Condition=
"$(Platform) != 'x64'"
>
$(DefineConstants);Suffix32=-32;
</DefineConstants>
...
...
Tools/msi/msi.targets
View file @
940f6a8f
...
...
@@ -26,7 +26,7 @@
<Target
Name=
"_TransformWxlTemplates"
AfterTargets=
"PrepareForBuild"
Inputs=
"@(WxlTemplate);$(PySourcePath)include\patchlevel.h"
Outputs=
"$(IntermediateOutputPath)%(Filename).wxl"
>
<PropertyGroup>
<_Content>
$([System.IO.File]::ReadAllText(%(WxlTemplate.FullPath)).Replace(`{{ShortVersion}}`, `$(MajorVersionNumber).$(MinorVersionNumber)
`).Replace(`{{LongVersion}}`, `$(PythonVersion
)`).Replace(`{{Bitness}}`, `$(Bitness)`))
</_Content>
<_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>
...
...
Tools/msi/tcltk/tcltk_reg.wxs
View file @
940f6a8f
...
...
@@ -5,25 +5,25 @@
<!-- We fix the guid of the Subcommands key so that it is correctly reference counted -->
<Component
Id=
"assoc_subcommands"
Directory=
"InstallDirectory"
Guid=
"{57D47B4C-96E6-40A0-A958-57083D74423F}"
>
<Condition>
VersionNT > 600
</Condition>
<RegistryValue
Root=
"HKCR"
Key=
"
$(var.TestPrefix)Python.File\Shell\editwithidle
"
Name=
"MUIVerb"
Value=
"!(loc.EditMenu)"
Type=
"string"
KeyPath=
"yes"
/>
<RegistryValue
Root=
"HKCR"
Key=
"
$(var.TestPrefix)Python.File\Shell\editwithidle
"
Name=
"Subcommands"
Value=
""
Type=
"string"
KeyPath=
"no"
/>
<RegistryValue
Root=
"HKCR"
Key=
"
Python.File\Shell\editwithidle$(var.PyTestExt)
"
Name=
"MUIVerb"
Value=
"!(loc.EditMenu)"
Type=
"string"
KeyPath=
"yes"
/>
<RegistryValue
Root=
"HKCR"
Key=
"
Python.File\Shell\editwithidle$(var.PyTestExt)
"
Name=
"Subcommands"
Value=
""
Type=
"string"
KeyPath=
"no"
/>
</Component>
<Component
Id=
"assoc_subcommands_nocon"
Directory=
"InstallDirectory"
Guid=
"{07061D85-9151-4FC4-BB78-13628020D026}"
>
<Condition>
VersionNT > 600
</Condition>
<RegistryValue
Root=
"HKCR"
Key=
"
$(var.TestPrefix)Python.NoConFile\Shell\editwithidle
"
Name=
"MUIVerb"
Value=
"!(loc.EditMenu)"
Type=
"string"
KeyPath=
"yes"
/>
<RegistryValue
Root=
"HKCR"
Key=
"
$(var.TestPrefix)Python.NoConFile\Shell\editwithidle
"
Name=
"Subcommands"
Value=
""
Type=
"string"
KeyPath=
"no"
/>
<RegistryValue
Root=
"HKCR"
Key=
"
Python.NoConFile\Shell\editwithidle$(var.PyTestExt)
"
Name=
"MUIVerb"
Value=
"!(loc.EditMenu)"
Type=
"string"
KeyPath=
"yes"
/>
<RegistryValue
Root=
"HKCR"
Key=
"
Python.NoConFile\Shell\editwithidle$(var.PyTestExt)
"
Name=
"Subcommands"
Value=
""
Type=
"string"
KeyPath=
"no"
/>
</Component>
<Component
Id=
"assoc_editwithidle"
Directory=
"InstallDirectory"
>
<Condition>
VersionNT > 600
</Condition>
<RegistryKey
Root=
"HKCR"
Key=
"
$(var.TestPrefix)Python.File\Shell\editwithidle\shell\edit$(var.MajorVersionNumber)$(var.MinorVersionNumber)$(var.Suffix32
)"
>
<RegistryKey
Root=
"HKCR"
Key=
"
Python.File\Shell\editwithidle\shell\edit$(var.MajorVersionNumber)$(var.MinorVersionNumber)$(var.PyArchExt)$(var.PyTestExt
)"
>
<RegistryValue
Name=
"MUIVerb"
Value=
"!(loc.EditSubMenu)"
Type=
"string"
KeyPath=
"yes"
/>
<RegistryValue
Key=
"command"
Value=
'"[PYTHONW_EXE]" -m idlelib "%L" %*'
Type=
"string"
/>
</RegistryKey>
</Component>
<Component
Id=
"assoc_editwithidle_nocon"
Directory=
"InstallDirectory"
>
<Condition>
VersionNT > 600
</Condition>
<RegistryKey
Root=
"HKCR"
Key=
"
$(var.TestPrefix)Python.NoConFile\Shell\editwithidle\shell\edit$(var.MajorVersionNumber)$(var.MinorVersionNumber)$(var.Suffix32
)"
>
<RegistryKey
Root=
"HKCR"
Key=
"
Python.NoConFile\Shell\editwithidle\shell\edit$(var.MajorVersionNumber)$(var.MinorVersionNumber)$(var.PyArchExt)$(var.PyTestExt
)"
>
<RegistryValue
Name=
"MUIVerb"
Value=
"!(loc.EditSubMenu)"
Type=
"string"
KeyPath=
"yes"
/>
<RegistryValue
Key=
"command"
Value=
'"[PYTHONW_EXE]" -m idlelib "%L" %*'
Type=
"string"
/>
</RegistryKey>
...
...
@@ -31,14 +31,14 @@
<Component
Id=
"assoc_editwithidle_vista"
Directory=
"InstallDirectory"
>
<Condition>
VersionNT = 600
</Condition>
<RegistryKey
Root=
"HKCR"
Key=
"
$(var.TestPrefix)Python.File\Shell\editwithidle$(var.MajorVersionNumber)$(var.MinorVersionNumber)$(var.Suffix32
)"
>
<RegistryKey
Root=
"HKCR"
Key=
"
Python.File\Shell\editwithidle$(var.MajorVersionNumber)$(var.MinorVersionNumber)$(var.PyArchExt)$(var.PyTestExt
)"
>
<RegistryValue
Value=
"!(loc.EditSubMenu)"
Type=
"string"
KeyPath=
"yes"
/>
<RegistryValue
Key=
"command"
Value=
'"[PYTHONW_EXE]" -m idlelib "%L" %*'
Type=
"string"
/>
</RegistryKey>
</Component>
<Component
Id=
"assoc_editwithidle_nocon_vista"
Directory=
"InstallDirectory"
>
<Condition>
VersionNT = 600
</Condition>
<RegistryKey
Root=
"HKCR"
Key=
"
$(var.TestPrefix)Python.NoConFile\Shell\editwithidle$(var.MajorVersionNumber)$(var.MinorVersionNumber)$(var.Suffix32
)"
>
<RegistryKey
Root=
"HKCR"
Key=
"
Python.NoConFile\Shell\editwithidle$(var.MajorVersionNumber)$(var.MinorVersionNumber)$(var.PyArchExt)$(var.PyTestExt
)"
>
<RegistryValue
Value=
"!(loc.EditSubMenu)"
Type=
"string"
KeyPath=
"yes"
/>
<RegistryValue
Key=
"command"
Value=
'"[PYTHONW_EXE]" -m idlelib "%L" %*'
Type=
"string"
/>
</RegistryKey>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment