diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2014-02-22 22:44:20 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2014-02-22 22:44:20 (GMT) |
commit | 1db0eacf3e12b97b6f56a6c6096203c07bdd475d (patch) | |
tree | 73534a3d0e897b2c2d6f07fdee5ba0da0ce26bdb /Tools/msi | |
parent | 98681d4ac1d3cdf7b60712d8e03445e93ee2b257 (diff) | |
download | cpython-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.py | 20 |
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), ]) ##################################################################### |