summaryrefslogtreecommitdiff
path: root/win32/perlexe.manifest
diff options
context:
space:
mode:
authorJan Dubois <jand@activestate.com>2009-04-30 16:53:20 -0700
committerJan Dubois <jand@activestate.com>2009-11-20 16:38:13 -0800
commit4ebea3c679ca93eb90d62be76bf8eb3cd7d14160 (patch)
tree7e8113501d92392714226ab02d20cc447841addc /win32/perlexe.manifest
parent074f7b78c4d97c74b49b2220b52710cd138da795 (diff)
downloadperl-4ebea3c679ca93eb90d62be76bf8eb3cd7d14160.tar.gz
Always add a manifest resource to perl.exe to specify the <trustInfo>
settings for Windows Vista and later. Without this setting Windows will treat perl.exe as a legacy application and apply various heuristics like redirecting access to protected file system areas (like the "Program Files" folder) to the users "VirtualStore" instead of generating a proper "permission denied" error. For VC8 and VC9 this manifest setting is automatically generated by the compiler/linker (together with the binding information for their respective runtime libraries); for all other compilers we need to embed the manifest resource explicitly in the external resource file. This change also requests the Microsoft Common-Controls version 6.0 (themed controls introduced in Windows XP) via the dependency list in the assembly manifest. For VC8 and VC9 this is specified using the /manifestdependency linker commandline option instead.
Diffstat (limited to 'win32/perlexe.manifest')
-rwxr-xr-xwin32/perlexe.manifest18
1 files changed, 18 insertions, 0 deletions
diff --git a/win32/perlexe.manifest b/win32/perlexe.manifest
new file mode 100755
index 0000000000..24ee19dca4
--- /dev/null
+++ b/win32/perlexe.manifest
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+ <assemblyIdentity version="0.0.0.0" name="Perl" type="Win32" />
+ <description>Perl</description>
+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
+ <security>
+ <requestedPrivileges>
+ <requestedExecutionLevel level="asInvoker" uiAccess="false" />
+ </requestedPrivileges>
+ </security>
+ </trustInfo>
+ <dependency>
+ <dependentAssembly>
+ <assemblyIdentity type="Win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0"
+ processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
+ </dependentAssembly>
+ </dependency>
+</assembly>