summaryrefslogtreecommitdiff
path: root/setuptools/command
diff options
context:
space:
mode:
authorphillip.eby <phillip.eby@6015fed2-1504-0410-9fe1-9d1591cc4771>2009-10-12 20:20:33 +0000
committerphillip.eby <phillip.eby@6015fed2-1504-0410-9fe1-9d1591cc4771>2009-10-12 20:20:33 +0000
commit37d1a0983d6968c4960f42409fbca8a1b5816273 (patch)
tree5868c91e89b79df28b2c75429f160596ca682ba5 /setuptools/command
parent34c3affcf42ad5371ee8349a303792957debd0f3 (diff)
downloadpython-setuptools-37d1a0983d6968c4960f42409fbca8a1b5816273.tar.gz
Fixes for Windwos 64 and Vista UAC errors
git-svn-id: http://svn.python.org/projects/sandbox/trunk/setuptools@75387 6015fed2-1504-0410-9fe1-9d1591cc4771
Diffstat (limited to 'setuptools/command')
-rwxr-xr-xsetuptools/command/easy_install.py45
1 files changed, 43 insertions, 2 deletions
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
index aa56210..c4f030f 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.