summaryrefslogtreecommitdiffstats
path: root/Tools/msi
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2014-02-22 22:44:20 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2014-02-22 22:44:20 (GMT)
commit1db0eacf3e12b97b6f56a6c6096203c07bdd475d (patch)
tree73534a3d0e897b2c2d6f07fdee5ba0da0ce26bdb /Tools/msi
parent98681d4ac1d3cdf7b60712d8e03445e93ee2b257 (diff)
downloadcpython-1db0eacf3e12b97b6f56a6c6096203c07bdd475d.zip
cpython-1db0eacf3e12b97b6f56a6c6096203c07bdd475d.tar.gz
cpython-1db0eacf3e12b97b6f56a6c6096203c07bdd475d.tar.bz2
Issue #20641: Run custom actions with the NoImpersonate flag to support UAC.
Diffstat (limited to 'Tools/msi')
-rw-r--r--Tools/msi/msi.py20
1 files changed, 9 insertions, 11 deletions
diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py
index e816c8a..8409b81 100644
--- a/Tools/msi/msi.py
+++ b/Tools/msi/msi.py
@@ -435,12 +435,13 @@ def add_ui(db):
("SetLauncherDirToWindows", 307, "LAUNCHERDIR", "[WindowsFolder]"),
# msidbCustomActionTypeExe + msidbCustomActionTypeSourceFile
# See "Custom Action Type 18"
- ("CompilePyc", 18, "python.exe", compileargs),
- ("CompilePyo", 18, "python.exe", "-O "+compileargs),
- ("CompileGrammar", 18, "python.exe", lib2to3args),
# msidbCustomActionTypeInScript (1024); run during actual installation
- ("UpdatePip", 18+1024, "python.exe", updatepipargs),
- ("RemovePip", 18, "python.exe", removepipargs),
+ # msidbCustomActionTypeNoImpersonate (2048); run action in system account, not user account
+ ("CompilePyc", 18+1024+2048, "python.exe", compileargs),
+ ("CompilePyo", 18+1024+2048, "python.exe", "-O "+compileargs),
+ ("CompileGrammar", 18+1024+2048, "python.exe", lib2to3args),
+ ("UpdatePip", 18+1024+2048, "python.exe", updatepipargs),
+ ("RemovePip", 18+1024+2048, "python.exe", removepipargs),
])
# UI Sequences, see "InstallUISequence Table", "Using a Sequence Table"
@@ -483,17 +484,14 @@ def add_ui(db):
# remove pip when state changes to INSTALLSTATE_ABSENT
# run before RemoveFiles
("RemovePip", "&pip_feature=2", 3499),
- ("CompilePyc", "COMPILEALL", 6800),
- ("CompilePyo", "COMPILEALL", 6801),
- ("CompileGrammar", "COMPILEALL", 6802),
+ ("CompilePyc", "COMPILEALL", 4002),
+ ("CompilePyo", "COMPILEALL", 4003),
+ ("CompileGrammar", "COMPILEALL", 4004),
])
add_data(db, "AdminExecuteSequence",
[("InitialTargetDir", 'TARGETDIR=""', 750),
("SetDLLDirToTarget", 'DLLDIR=""', 751),
("SetLauncherDirToTarget", 'LAUNCHERDIR=""', 752),
- ("CompilePyc", "COMPILEALL", 6800),
- ("CompilePyo", "COMPILEALL", 6801),
- ("CompileGrammar", "COMPILEALL", 6802),
])
#####################################################################