diff options
author | PJ Eby <distutils-sig@python.org> | 2009-10-12 20:21:43 +0000 |
---|---|---|
committer | PJ Eby <distutils-sig@python.org> | 2009-10-12 20:21:43 +0000 |
commit | 81e2bb6c275be23a335e2735bb346559357b9d7e (patch) | |
tree | 5b38af0759edd5685b97e1d3ddf1c30da377ba7b /setuptools/command/easy_install.py | |
parent | 11e0e840b1d2b9b2e4326facb2f05eacec71bafa (diff) | |
download | external_python_setuptools-81e2bb6c275be23a335e2735bb346559357b9d7e.tar.gz external_python_setuptools-81e2bb6c275be23a335e2735bb346559357b9d7e.tar.bz2 external_python_setuptools-81e2bb6c275be23a335e2735bb346559357b9d7e.zip |
Windows 64/Vista UAC fixes
--HG--
branch : setuptools-0.6
extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/branches/setuptools-0.6%4075388
Diffstat (limited to 'setuptools/command/easy_install.py')
-rwxr-xr-x | setuptools/command/easy_install.py | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py index a5a23ad4..af4e3497 100755 --- a/setuptools/command/easy_install.py +++ b/setuptools/command/easy_install.py @@ -1590,13 +1590,54 @@ def get_script_args(dist, executable=sys_executable, wininst=False): yield (name+ext, hdr+script_text, 't', [name+x for x in old]) yield ( name+'.exe', resource_string('setuptools', launcher), - 'b' # write in binary mode - ) + 'b') # write in binary mode + yield (name+'.exe.manifest', _launcher_manifest % (name,), 't') else: # On other platforms, we assume the right thing to do is to # just write the stub with no extension. yield (name, header+script_text) +_launcher_manifest = """ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <assemblyIdentity version="1.0.0.0" + processorArchitecture="X86" + name="%s.exe" + type="win32"/> + + <!-- Identify the application security requirements. --> + <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> + <security> + <requestedPrivileges> + <requestedExecutionLevel level="asInvoker" uiAccess="false"/> + </requestedPrivileges> + </security> + </trustInfo> +</assembly>""" + + + + + + + + + + + + + + + + + + + + + + + + def rmtree(path, ignore_errors=False, onerror=auto_chmod): """Recursively delete a directory tree. |