summaryrefslogtreecommitdiff
path: root/win32/perlexe.rc
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.rc
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.rc')
-rw-r--r--win32/perlexe.rc7
1 files changed, 7 insertions, 0 deletions
diff --git a/win32/perlexe.rc b/win32/perlexe.rc
index 627b8576b2..c22797826c 100644
--- a/win32/perlexe.rc
+++ b/win32/perlexe.rc
@@ -1 +1,8 @@
PERLEXE ICON perlexe.ico
+
+#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
+#define RT_MANIFEST 24
+
+#ifdef INCLUDE_MANIFEST
+CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "perlexe.manifest"
+#endif