Always add a manifest resource to perl.exe to specify the <trustInfo>
authorJan Dubois <jand@activestate.com>
Thu, 30 Apr 2009 23:53:20 +0000 (16:53 -0700)
committerJan Dubois <jand@activestate.com>
Sat, 21 Nov 2009 00:38:13 +0000 (16:38 -0800)
commit4ebea3c679ca93eb90d62be76bf8eb3cd7d14160
tree7e8113501d92392714226ab02d20cc447841addc
parent074f7b78c4d97c74b49b2220b52710cd138da795
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.
MANIFEST
win32/Makefile
win32/makefile.mk
win32/perlexe.manifest [new file with mode: 0755]
win32/perlexe.rc
win32/win32.c