diff options
author | Jan Dubois <jand@activestate.com> | 2009-04-30 16:53:20 -0700 |
---|---|---|
committer | Jan Dubois <jand@activestate.com> | 2009-11-20 16:38:13 -0800 |
commit | 4ebea3c679ca93eb90d62be76bf8eb3cd7d14160 (patch) | |
tree | 7e8113501d92392714226ab02d20cc447841addc /win32/perlexe.manifest | |
parent | 074f7b78c4d97c74b49b2220b52710cd138da795 (diff) | |
download | perl-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-x | win32/perlexe.manifest | 18 |
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> |